Android调用系统分享和指定app分享-微信朋友圈图文分享和qq分享

标签: Android系统分享QQ分享朋友圈图文分享
2016-09-27 22:54 279人阅读 评论(0) 收藏 举报
 分类:
Android(20) 

版权声明:本文为博主原创文章,未经博主允许不得转载。如有问题,请与我联系( QQ:3290985311)朱小姐。

1.调用系统分享

根据每个手机的情况不同,打开的分享面板内容也是不一样的。其实本质上,分享的目标app是插件化开发,这样调用分享的时候,才能打开对应的Activity,而不需要打开一个完整的app进程。

[java] view plaincopy
  1. /**
  2. * 调用本地分享文本
  3. */
  4. private void showLocationShare(int request) {
  5. Intent sendIntent = new Intent();
  6. sendIntent.setAction(Intent.ACTION_SEND);
  7. sendIntent.putExtra(Intent.EXTRA_TEXT, "这是分享的内容!");//注意:这里只是分享文本内容
  8. sendIntent.setType("text/plain");
  9. startActivityForResult(sendIntent, request);
  10. }

调用系统的分享功能可以不用申请API集成,比较方便,但是不好的地方就是没有回调可以知道是否分享了,分享是否成功了。

2.指定app分享

首先要知道app的包名和Activity的名称。通过以下方法获得手机上全部可用于分享的app的包名和Activity名称。

[java] view plaincopy
  1. Intent share = new Intent(android.content.Intent.ACTION_SEND);
  2. PackageManager packageManager = getPackageManager();
  3. List<ResolveInfo> list=packageManager.queryIntentActivities(share, PackageManager.COMPONENT_ENABLED_STATE_DEFAULT);
  4. for(ResolveInfo info:list){
  5. MyUtils.log(""+info.activityInfo.packageName+"---"+info.activityInfo.name);
  6. }

得到包名和activity名称后,指定目标app分享。以QQ和微信举例。

[java] view plaincopy
  1. Intent sendIntent = new Intent();
  2. sendIntent.setAction(Intent.ACTION_SEND);
  3. sendIntent.putExtra(Intent.EXTRA_TEXT, shareTittle + "\n" + shareContent + "\n" + shareUrl);
  4. sendIntent.setType("text/plain");
  5. //          sendIntent.setClassName("com.tencent.mm", "com.tencent.mm.ui.tools.ShareImgUI");//微信朋友
  6. //          sendIntent.setClassName("com.tencent.mobileqq", "cooperation.qqfav.widget.QfavJumpActivity");//保存到QQ收藏
  7. //          sendIntent.setClassName("com.tencent.mobileqq", "cooperation.qlink.QlinkShareJumpActivity");//QQ面对面快传
  8. //          sendIntent.setClassName("com.tencent.mobileqq", "com.tencent.mobileqq.activity.qfileJumpActivity");//传给我的电脑
  9. sendIntent.setClassName("com.tencent.mobileqq", "com.tencent.mobileqq.activity.JumpActivity");//QQ好友或QQ群
  10. //          sendIntent.setClassName("com.tencent.mm", "com.tencent.mm.ui.tools.ShareToTimeLineUI");//微信朋友圈,仅支持分享图片
  11. startActivityForResult(sendIntent, QUN_QUEST);

3.Android系统分享-微信朋友圈分享

[java] view plaincopy
  1. Bitmap decodeRecource = BitmapFactory.decodeResource(getResources(), R.drawable.app_icon);
  2. File file = writeFileByBitmap2(decodeRecource);
  3. Uri img = Uri.fromFile(file);//获得一张图片的Uri

分享单张图片到朋友圈

[java] view plaincopy
  1. Intent send = new Intent();
  2. <strong>send.setAction(Intent.ACTION_SEND)</strong>;
  3. send.putExtra(Intent.<strong>EXTRA_STREAM</strong>, img);
  4. send.setType("image/*");
  5. send.setClassName("com.tencent.mm", "com.tencent.mm.ui.tools.ShareToTimeLineUI");//微信朋友圈,仅支持分享图片
  6. startActivityForResult(send, WX_QUEST);

分享多张图片到朋友圈

[java] view plaincopy
  1. ArrayList<Uri> uriList = new ArrayList<Uri>();
  2. uriList.add(img);
  3. uriList.add(img);
  4. Intent send = new Intent();
  5. <span style="color:#ff6666;"><strong>send.setAction(Intent.ACTION_SEND_MULTIPLE);</strong></span>
  6. send.putExtra(Intent.EXTRA_STREAM, <strong>uriList</strong>);
  7. send.setType("image/*");
  8. send.setClassName("com.tencent.mm", "com.tencent.mm.ui.tools.ShareToTimeLineUI");//微信朋友圈,仅支持分享图片
  9. startActivityForResult(send, WX_QUEST);

微信分享图片+文字

用上面的方法添加图片分享,如果要添加文字,再添加一句代码就可以

[java] view plaincopy
  1. send.putExtra("<span style="color:#ff0000;"><strong>Kdescription</strong></span>", shareContent+shareUrl);

Android调用系统分享和指定app分享-微信朋友圈图文分享和qq分享相关推荐

  1. android 微信朋友圈图文编辑器,做朋友圈的「集赞机」:微信朋友圈生存手册 Android 篇...

    一年几度的「朋友圈杯旅游.美食.自拍大赛」已接近尾声,这一次你有没有再创佳绩呢?作为一项我国人们「喜闻乐见」的装逼活动,朋友圈状态已经成了判定一个人逼格的重要依据,然而根据我多年的研(zhuang)究 ...

  2. android 微信朋友圈图文编辑器,教你如何在微信朋友圈发表图文并茂的长篇文章...

    微信的朋友圈对很多人来说可能比聊天更有趣.有些人更是把发朋友圈作为每日必修的课程(微商?!) 但,朋友圈动态的类型实在有限,今天,我就讲讲如何在朋友圈里发文章. 首先,朋友圈右上角长按是可以发纯文本内 ...

  3. Android 调用系统分享图片、视频等文件

    目录 序言 打开文件管理器 分享操作 文件Uri转化为String 序言 一般都会集成Umeng的分享,基本的分享都可以满足,但是要想分享文件,比如pdf.doc.ppt等类型时,umeng就不能满足 ...

  4. Android调用系统相机拍照并保存到指定位置

    Android调用系统相机拍照并保存到指定位置 @Click(R.id.btn_takePhoto)void onclick() {Intent intent = new Intent(MediaSt ...

  5. android固定位置拍照,Android调用系统相机拍照并保存到指定位置

    Android调用系统相机拍照并保存到指定位置 @Click(R.id.btn_takePhoto) void onclick() { Intent intent = new Intent(Media ...

  6. android安装自动打开网页,Android调用系统自带浏览器打开网页的实现方法

    Android调用系统自带浏览器打开网页的实现方法 在Android中可以调用自带的浏览器,或者指定一个浏览器来打开一个链接.只需要传入一个uri,可以是链接地址. 启动android默认浏览器 在A ...

  7. Android调用系统的拍照,打开相册功能

    Android调用系统的拍照,打开相册功能 1 添加权限: <!-- 往SDCard写入数据权限 --> <uses-permission android:name="an ...

  8. android 默认浏览器 视频播放 二维码,Android调用系统默认浏览器访问的方法

    一.启动android默认浏览器 这样子,android就可以调用起手机默认的浏览器访问. 二.指定相应的浏览器访问 1.指定android自带的浏览器访问 ( "com.android.b ...

  9. Android 调用系统裁剪,适配11和12及手机

    前言:发现Android 调用系统裁剪时,在各Android 版本出现各种问题,踩了一堆坑,做一下总结,免得以后忘记 后面会有完整裁剪代码 1,一加手机报错 intent.putExtra(" ...

最新文章

  1. 推荐一个不错的开源在线HTML编辑器
  2. 本地生活服务 巨头们玩不转的电商蓝海
  3. BootStrap学习(6)_模态框
  4. 样条之贝塞尔(Bezier)
  5. Spring MVC面试题
  6. C#.Net工作笔记003---异步编程async await
  7. Python程序提示出现File stdin,line 1错误解决方法
  8. android 分享qq微信朋友圈,H5微信JS-SDK实现分享朋友 朋友圈以及QQ自定义分享
  9. Java简单循环依赖的解决 —— spring_imitate(Spring的模仿)
  10. 《新程序员》走进名企线下交流活动——微软亚洲研究院
  11. android wifi连接优先级,gogo平台靠谱吗-官方网站
  12. 专家议微软黑屏:目的正当 手段未必正当
  13. 静态创意和动态创意_2020年创意工作的5个预测
  14. 利用串口对 89S 系列单片机编程
  15. 计算机组成原理_主存与CPU的连接
  16. 产品经理与用户体验研究的关系
  17. 地铁大数据挖掘之数据预处理——从原始一卡通数据提取城市地铁客流(二)
  18. HDU 5445 Food Problem
  19. maven项目设置多个源文件夹
  20. 网络共享怎样改自己的计算机名字,局域网共享设置|如何设置局域网共享

热门文章

  1. Cisco与H3C交换机互联的小风波
  2. 《你好,放大器》----学习记录(三)
  3. 抖音开发 发布内容至抖音H5
  4. 电源模块设计过程(降压、正压转负压)-MC34063
  5. 二篇、使用excel做数据驱动把数据管理起来
  6. JavaWeb HTML
  7. Elasticsearch之高亮进阶-高性能高亮器, 让Elasticsearch飞一会儿
  8. 删除html表里的数据,如何删除HTML表格行中表格数据之间的空白?
  9. 家用监控系统需要服务器吗,家庭监控系统实现(一)
  10. 【2021-08-05 修订】【梳理】计算机网络:自顶向下方法 第六章 链路层和LAN(docx)