ActionBar之Share的用法
ActionBar之Share的用法
火文乐武 发表于2年前
ActionBar之Share的用法
  • 发表于 2年前
  • 阅读 5
  • 收藏 0
  • 点赞 2
  • 评论 0

新睿云服务器60天免费使用,快来体验!>>>   

摘要: ActionBar、share
@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.main, menu);

		//	通过菜单的id找到一个菜单项
		MenuItem item = menu.findItem(R.id.action_share);

		//	将该菜单项强制转换为ShareActionProvider对象(xml中设置了actionProvider的值为ShareActionProvider)
		ShareActionProvider actionProvider = (ShareActionProvider) item
				.getActionProvider();

		//	构建intent对象
		Intent intent = new Intent();
		intent.setAction(Intent.ACTION_SEND);

		//	分享文字内容
//		shareText(intent);

		//	分享图片内容
		shareImage(intent);

		//	分享的历史记录的顺序存放在指定的文件中
		actionProvider.setShareHistoryFileName("myHistory");

		//	实现内容的分享
		actionProvider.setShareIntent(intent);

		return true;
	}

	private void shareImage(Intent intent) {
		
		//	设置要分享的图片的路径
		String path = Environment.getExternalStorageDirectory()
				.getAbsolutePath() + File.separator + "baidu.png";
		
		try {
			//	将该图片路径转换为一个uri对象
			URI uri = new URI(path);
			
			//	将uri对象放置在intent对象中
			intent.putExtra(Intent.EXTRA_STREAM, uri.toString());
			
			//	设置intent的type属性(图片格式)
			intent.setType("image/*");
		} catch (URISyntaxException e) {
			e.printStackTrace();
		}
	}

	private void shareText(Intent intent) {
		
		//	给intent放置文字信心
		intent.putExtra(Intent.EXTRA_TEXT,
				"hello zz 1603, this is my shared text.");
		
		//	设置intent对象的类型为文字类型
		intent.setType("text/*");
	}

 

  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 7
博文 32
码字总数 17183
×
火文乐武
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: