实现分享功能的几个办法

1.调用系统的分享功能
2.通过第三方SDK,如ShareSDK,友盟等
3.自行使用各自平台的SDK,比如QQ,微信,微博各自的SDK
这里就记录下第一种办法。
分享文本信息
Intent textIntent = new Intent(Intent.ACTION_SEND);
textIntent.setType("text/plain");
textIntent.putExtra(Intent.EXTRA_TEXT, "这是一段分享的文字");
startActivity(Intent.createChooser(textIntent, "分享"));
效果如下图:
分享单张图片
String path = getResourcesUri(R.drawable.shu_1);
Intent imageIntent = new Intent(Intent.ACTION_SEND);
imageIntent.setType("image/jpeg");
imageIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse(path));
startActivity(Intent.createChooser(imageIntent, "分享"));
分享多个文件
ArrayList<Uri> imageUris = new ArrayList<>();
Uri uri1 = Uri.parse(getResourcesUri(R.drawable.dog));
Uri uri2 = Uri.parse(getResourcesUri(R.drawable.shu_1));
imageUris.add(uri1);
imageUris.add(uri2);
Intent mulIntent = new Intent(Intent.ACTION_SEND_MULTIPLE);
mulIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, imageUris);
mulIntent.setType("image/jpeg");
startActivity(Intent.createChooser(mulIntent,"多文件分享"));
上面几个例子的效果都是一样的,创建一个选择器,让用户自己选择分享到哪里。
这里有一点得注意,就是通过这种方法进行分享,Intent传递的数据的Type(就是setType()方法)一定要控制好,不然会出错。(至于为什么后面说)。
其中由于是分享的res中的图片,故转变为uri,方法在这:
private String getResourcesUri(@DrawableRes int id) {
Resources resources = getResources();
String uriPath = ContentResolver.SCHEME_ANDROID_RESOURCE + "://" +
resources.getResourcePackageName(id) + "/" +
resources.getResourceTypeName(id) + "/" +
resources.getResourceEntryName(id);
Toast.makeText(this, "Uri:" + uriPath, Toast.LENGTH_SHORT).show();
return uriPath;
}
指定分享到微信
Intent wechatIntent = new Intent(Intent.ACTION_SEND);
wechatIntent.setPackage("com.tencent.mm");
wechatIntent.setType("text/plain");
wechatIntent.putExtra(Intent.EXTRA_TEXT, "分享到微信的内容");
startActivity(wechatIntent);
效果如下:
指定分享到QQ
Intent qqIntent = new Intent(Intent.ACTION_SEND);
qqIntent.setPackage("com.tencent.mobileqq");
qqIntent.setType("text/plain");
qqIntent.putExtra(Intent.EXTRA_TEXT, "分享到微信的内容");
startActivity(qqIntent);
效果如下:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# android
# 调用系统分享
# 系统自带分享
# 安卓调用系统分享功能
# Android 调用系统联系人界面(添加联系人
# 添加已有联系人
# 编辑和修改)
# Android实现调用系统图库与相机设置头像并保存在本地及服务器
# Android分享微信小程序失败的一些事小结
# Android实现分享微信好友及出现闪退的解决办法
# 解决Android调用系统分享给微信
# 出现分享失败
# 分享多文件必须为图片格式的问题
# 几个
# 这是
# 多个
# 在这
# 第三方
# 转变为
# 创建一个
# 第一种
# 大家多多
# 如下图
# 选择器
# 这种方法
# 是一样的
# 到哪里
# center
# String
# align
# style
# path
# EXTRA_STREAM
相关文章:
如何在阿里云虚拟服务器快速搭建网站?
怎么用手机制作网站链接,dw怎么把手机适应页面变成网页?
如何选择网络建站服务器?高效建站必看指南
C#如何在一个XML文件中查找并替换文本内容
网站网页制作电话怎么打,怎样安装和使用钉钉软件免费打电话?
专业网站建设制作报价,网页设计制作要考什么证?
家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?
北京企业网站设计制作公司,北京铁路集团官方网站?
网站制作公司,橙子建站是合法的吗?
专业公司网站制作公司,用什么语言做企业网站比较好?
如何选择适配移动端的WAP自助建站平台?
制作网站的模板软件,网站怎么建设?
建站VPS选购需注意哪些关键参数?
网站图片在线制作软件,怎么在图片上做链接?
如何生成腾讯云建站专用兑换码?
微课制作网站有哪些,微课网怎么进?
怎么将XML数据可视化 D3.js加载XML
建站之星后台管理系统如何操作?
沈阳制作网站公司排名,沈阳装饰协会官方网站?
北京制作网站的公司,北京铁路集团官方网站?
如何用腾讯建站主机快速创建免费网站?
外汇网站制作流程,如何在工商银行网站上做外汇买卖?
如何高效利用200m空间完成建站?
如何通过wdcp面板快速创建网站?
如何制作算命网站,怎么注册算命网站?
如何通过cPanel快速搭建网站?
,sp开头的版面叫什么?
Swift中循环语句中的转移语句 break 和 continue
如何在景安服务器上快速搭建个人网站?
建站之星后台密码遗忘?如何快速找回?
如何选择靠谱的建站公司加盟品牌?
如何用wdcp快速搭建高效网站?
建站主机无法访问?如何排查域名与服务器问题
网站制作壁纸教程视频,电脑壁纸网站?
C++如何使用std::optional?(处理可选值)
在线制作视频网站免费,都有哪些好的动漫网站?
如何挑选最适合建站的高性能VPS主机?
python的本地网站制作,如何创建本地站点?
如何通过商城自助建站源码实现零基础高效建站?
免费公司网站制作软件,如何申请免费主页空间做自己的网站?
北京网站制作公司哪家好一点,北京租房网站有哪些?
枣阳网站制作,阳新火车站打的到仙岛湖多少钱?
北京营销型网站制作公司,可以用python做一个营销推广网站吗?
台州网站建设制作公司,浙江手机无犯罪记录证明怎么开?
利用JavaScript实现拖拽改变元素大小
如何通过PHP快速构建高效问答网站功能?
历史网站制作软件,华为如何找回被删除的网站?
如何在沈阳梯子盘古建站优化SEO排名与功能模块?
建站主机是什么?如何选择适合的建站主机?
制作网站外包平台,自动化接单网站有哪些?
*请认真填写需求信息,我们会在24小时内与您取得联系。