全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Android调用系统自带的分享功能实例代码

实现分享功能的几个办法

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小时内与您取得联系。