Android调用系统分享和指定app分享-微信朋友圈图文分享和qq分享
2016-11-23 16:18
525 查看
Android调用系统分享和指定app分享-微信朋友圈图文分享和qq分享
标签: Android系统分享QQ分享朋友圈图文分享2016-09-27 22:54 279人阅读 评论(0) 收藏 举报
分类:
Android(20)
版权声明:本文为博主原创文章,未经博主允许不得转载。如有问题,请与我联系( QQ:3290985311)朱小姐。
1.调用系统分享
根据每个手机的情况不同,打开的分享面板内容也是不一样的。其实本质上,分享的目标app是插件化开发,这样调用分享的时候,才能打开对应的Activity,而不需要打开一个完整的app进程。
[java] view
plain copy
/**
* 调用本地分享文本
*/
private void showLocationShare(int request) {
Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_TEXT, "这是分享的内容!");//注意:这里只是分享文本内容
sendIntent.setType("text/plain");
startActivityForResult(sendIntent, request);
}
调用系统的分享功能可以不用申请API集成,比较方便,但是不好的地方就是没有回调可以知道是否分享了,分享是否成功了。
2.指定app分享
首先要知道app的包名和Activity的名称。通过以下方法获得手机上全部可用于分享的app的包名和Activity名称。
[java] view
plain copy
Intent share = new Intent(android.content.Intent.ACTION_SEND);
PackageManager packageManager = getPackageManager();
List<ResolveInfo> list=packageManager.queryIntentActivities(share, PackageManager.COMPONENT_ENABLED_STATE_DEFAULT);
for(ResolveInfo info:list){
MyUtils.log(""+info.activityInfo.packageName+"---"+info.activityInfo.name);
}
得到包名和activity名称后,指定目标app分享。以QQ和微信举例。
[java] view
plain copy
Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_TEXT, shareTittle + "\n" + shareContent + "\n" + shareUrl);
sendIntent.setType("text/plain");
// sendIntent.setClassName("com.tencent.mm", "com.tencent.mm.ui.tools.ShareImgUI");//微信朋友
// sendIntent.setClassName("com.tencent.mobileqq", "cooperation.qqfav.widget.QfavJumpActivity");//保存到QQ收藏
// sendIntent.setClassName("com.tencent.mobileqq", "cooperation.qlink.QlinkShareJumpActivity");//QQ面对面快传
// sendIntent.setClassName("com.tencent.mobileqq", "com.tencent.mobileqq.activity.qfileJumpActivity");//传给我的电脑
sendIntent.setClassName("com.tencent.mobileqq", "com.tencent.mobileqq.activity.JumpActivity");//QQ好友或QQ群
// sendIntent.setClassName("com.tencent.mm", "com.tencent.mm.ui.tools.ShareToTimeLineUI");//微信朋友圈,仅支持分享图片
startActivityForResult(sendIntent, QUN_QUEST);
3.Android系统分享-微信朋友圈分享
[java] view
plain copy
Bitmap decodeRecource = BitmapFactory.decodeResource(getResources(), R.drawable.app_icon);
File file = writeFileByBitmap2(decodeRecource);
Uri img = Uri.fromFile(file);//获得一张图片的Uri
分享单张图片到朋友圈
[java] view
plain copy
Intent send = new Intent();
<strong>send.setAction(Intent.ACTION_SEND)</strong>;
send.putExtra(Intent.<strong>EXTRA_STREAM</strong>, img);
send.setType("image/*");
send.setClassName("com.tencent.mm", "com.tencent.mm.ui.tools.ShareToTimeLineUI");//微信朋友圈,仅支持分享图片
startActivityForResult(send, WX_QUEST);
分享多张图片到朋友圈
[java] view
plain copy
ArrayList<Uri> uriList = new ArrayList<Uri>();
uriList.add(img);
uriList.add(img);
Intent send = new Intent();
<span style="color:#ff6666;"><strong>send.setAction(Intent.ACTION_SEND_MULTIPLE);</strong></span>
send.putExtra(Intent.EXTRA_STREAM, <strong>uriList</strong>);
send.setType("image/*");
send.setClassName("com.tencent.mm", "com.tencent.mm.ui.tools.ShareToTimeLineUI");//微信朋友圈,仅支持分享图片
startActivityForResult(send, WX_QUEST);
微信分享图片+文字
用上面的方法添加图片分享,如果要添加文字,再添加一句代码就可以
[java] view
plain copy
send.putExtra("<span style="color:#ff0000;"><strong>Kdescription</strong></span>", shareContent+shareUrl);
相关文章推荐
- Android调用系统分享和指定app分享-微信朋友圈图文分享和qq分享
- Android 调用系统分享(不使用第三方),指定QQ、微信等
- android调用系统分享指定某些应用
- [Android]不经过第三方SDK直接调用系统自带分享QQ、微信
- Android调用系统分享,指定某些应用来分享
- android 分享或者调用系统或者其他app时 应注意! startActivityForResult() 使用
- Android APP中跳转至微信,分享图文给好友或者朋友圈(加跳转QQ好友或QQ群)
- 获取分享android 系统分享列表 并调用app进行分享
- Android指定调用系统自带浏览器打开链接
- Android调用系统分享功能以及createChooser的使用
- Android第三方应用分享图文到微信朋友圈 & 微信回调通报分享状态
- Android调用系统分享功能以及createChooser的使用
- android调用系统分享
- Android app应用调用系统关机菜单
- 分享我开发的网络电话Android手机APP正式版,图文详解及下载
- Android拍照、调用系统图库、裁剪图片到指定大小后输出
- android 不调用微信,易信等SDK实现实现一键分享图片文字到微信,易信,以及全部可选app
- Android 调用系统发短信界面,给指定号码发短信,并带短信内容
- android 调用系统程序打开指定文件
- Android开发 QQ sso登录和分享到QQ好友功能,调用本地QQ客户端