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

转载 2016年11月23日 16:18:18
 

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

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

1.调用系统分享

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

[java] view plain copy
 在CODE上查看代码片派生到我的代码片
  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 plain copy
 在CODE上查看代码片派生到我的代码片
  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 plain copy
 在CODE上查看代码片派生到我的代码片
  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 plain copy
 在CODE上查看代码片派生到我的代码片
  1. Bitmap decodeRecource = BitmapFactory.decodeResource(getResources(), R.drawable.app_icon);  
  2.             File file = writeFileByBitmap2(decodeRecource);  
  3.             Uri img = Uri.fromFile(file);//获得一张图片的Uri  
分享单张图片到朋友圈

[java] view plain copy
 在CODE上查看代码片派生到我的代码片
  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 plain copy
 在CODE上查看代码片派生到我的代码片
  1. ArrayList<Uri> uriList = new ArrayList<Uri>();  
  2.             uriList.add(img);  
  3.             uriList.add(img);  
  4.               
  5.             Intent send = new Intent();  
  6.             <span style="color:#ff6666;"><strong>send.setAction(Intent.ACTION_SEND_MULTIPLE);</strong></span>  
  7.             send.putExtra(Intent.EXTRA_STREAM, <strong>uriList</strong>);  
  8.             send.setType("image/*");  
  9.             send.setClassName("com.tencent.mm""com.tencent.mm.ui.tools.ShareToTimeLineUI");//微信朋友圈,仅支持分享图片  
  10.             startActivityForResult(send, WX_QUEST);  

微信分享图片+文字

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

[java] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. send.putExtra("<span style="color:#ff0000;"><strong>Kdescription</strong></span>", shareContent+shareUrl);   

Android使用系统方法实现分享到QQ和微信!

作者:燕潇洒 导读:在过需求时,发现有分享到qq和微信的功能,百度之后,发现android自带分享到qq和微信的功能! public class AndroidShare { /** ...
  • yanxiaosa
  • yanxiaosa
  • 2017年05月23日 18:16
  • 2378

安卓调用系统自带分享功能分享文字,分享大图片,仿好奇心日报分享长图片(不用申请微信微博官方sdk就能直接分享)

当前安卓分享一共三种方式 1,调用安卓系统自带分享功能(可以分享大图) 2,调用微信,微博支付宝等自己的官方分享sdk 3,用友盟,shareSdk等集成好的sdk...
  • qiushi_1990
  • qiushi_1990
  • 2016年12月13日 16:55
  • 6383

Android系统自带分享功能的实现(可同时分享文字和图片)

简单,不解释,直接上代码,可直接使用! 代码
  • loongggdroid
  • loongggdroid
  • 2014年06月28日 18:32
  • 25958

Android系统分享多图片到各平台

if (type.equals("WX")) { comp = new ComponentName("com.tencent.mm", ...
  • u010797115
  • u010797115
  • 2016年11月02日 15:25
  • 281

android应用中分享到微信好友和朋友圈的实现

前言实现分享到微信好友和朋友圈的功能其实很简单,官方文档其实还是比较详细的,只是在创建应用的过程比较费(dan)事(teng),好在微信的审核效率还可以,所以这篇博客简单为大家介绍下这个功能的实现,同...
  • Reed_CSDN
  • Reed_CSDN
  • 2016年03月26日 17:17
  • 13898

android中实现一个APP启动另一个APP并实现类似微信分享

在android中有时候我们需要做一个APP启动另一个APP,或者是实现做到类似微信或者QQ一样让第三方应用分享内容到自己的APP,那么我们改如何实现呢?下面我们就通过代码来演示实现的方法ShareA...
  • linzhaowan
  • linzhaowan
  • 2016年08月22日 08:29
  • 2105

探索Android调用系统的分享功能

很多的应用为了应用的推广和传播都会使用“分享”的功能,点击分享按钮,就能将想要分享的内容或者图片分享至QQ空间、微博、微信朋友圈等实现了分享功能的应用。这篇文章主要是为了学习与探索调用系统实现分享功能...
  • qq_20785431
  • qq_20785431
  • 2016年01月15日 23:16
  • 7583

[Android]不经过第三方SDK直接调用系统自带分享QQ、微信

现在,越来越多的APP需要分享的功能了,但是,我们却需要去每个方向平台那里下载对应的SDK以及申请APPID,这无疑是很麻烦的,虽然有些第三方分享平台(例如mob)已经集成了各种SDK,但是,还是需要...
  • u011596810
  • u011596810
  • 2015年12月08日 11:20
  • 3962

不经过第三方SDK直接调用系统自带分享QQ、微信

  • 2015年12月07日 21:05
  • 2.02MB
  • 下载

Android之微信开放平台实现分享(分享好友和朋友圈)

开发中分享操作往往经常遇到,而且还是一些比较大型一定的平台,如微信,QQ,微博等。写这篇博客主要是把微信的的分享和相关操作表达一下,分享可以包含:文字,视频,音乐,图片等分享。 分享可以有 分享给好友...
  • DickyQie
  • DickyQie
  • 2017年03月22日 16:28
  • 3840
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android调用系统分享和指定app分享-微信朋友圈图文分享和qq分享
举报原因:
原因补充:

(最多只允许输入30个字)