Android调用系统分享和指定app分享-微信朋友圈图文分享和qq分享
Android调用系统分享和指定app分享-微信朋友圈图文分享和qq分享
版权声明:本文为博主原创文章,未经博主允许不得转载。如有问题,请与我联系( QQ:3290985311)朱小姐。
1.调用系统分享
根据每个手机的情况不同,打开的分享面板内容也是不一样的。其实本质上,分享的目标app是插件化开发,这样调用分享的时候,才能打开对应的Activity,而不需要打开一个完整的app进程。
- /**
- * 调用本地分享文本
- */
- 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名称。
- 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和微信举例。
- 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系统分享-微信朋友圈分享
- Bitmap decodeRecource = BitmapFactory.decodeResource(getResources(), R.drawable.app_icon);
- File file = writeFileByBitmap2(decodeRecource);
- Uri img = Uri.fromFile(file);//获得一张图片的Uri
分享单张图片到朋友圈
- 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);
分享多张图片到朋友圈
- 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);
微信分享图片+文字
用上面的方法添加图片分享,如果要添加文字,再添加一句代码就可以
- send.putExtra("<span style="color:#ff0000;"><strong>Kdescription</strong></span>", shareContent+shareUrl);
Android调用系统分享和指定app分享-微信朋友圈图文分享和qq分享相关推荐
- android 微信朋友圈图文编辑器,做朋友圈的「集赞机」:微信朋友圈生存手册 Android 篇...
一年几度的「朋友圈杯旅游.美食.自拍大赛」已接近尾声,这一次你有没有再创佳绩呢?作为一项我国人们「喜闻乐见」的装逼活动,朋友圈状态已经成了判定一个人逼格的重要依据,然而根据我多年的研(zhuang)究 ...
- android 微信朋友圈图文编辑器,教你如何在微信朋友圈发表图文并茂的长篇文章...
微信的朋友圈对很多人来说可能比聊天更有趣.有些人更是把发朋友圈作为每日必修的课程(微商?!) 但,朋友圈动态的类型实在有限,今天,我就讲讲如何在朋友圈里发文章. 首先,朋友圈右上角长按是可以发纯文本内 ...
- Android 调用系统分享图片、视频等文件
目录 序言 打开文件管理器 分享操作 文件Uri转化为String 序言 一般都会集成Umeng的分享,基本的分享都可以满足,但是要想分享文件,比如pdf.doc.ppt等类型时,umeng就不能满足 ...
- Android调用系统相机拍照并保存到指定位置
Android调用系统相机拍照并保存到指定位置 @Click(R.id.btn_takePhoto)void onclick() {Intent intent = new Intent(MediaSt ...
- android固定位置拍照,Android调用系统相机拍照并保存到指定位置
Android调用系统相机拍照并保存到指定位置 @Click(R.id.btn_takePhoto) void onclick() { Intent intent = new Intent(Media ...
- android安装自动打开网页,Android调用系统自带浏览器打开网页的实现方法
Android调用系统自带浏览器打开网页的实现方法 在Android中可以调用自带的浏览器,或者指定一个浏览器来打开一个链接.只需要传入一个uri,可以是链接地址. 启动android默认浏览器 在A ...
- Android调用系统的拍照,打开相册功能
Android调用系统的拍照,打开相册功能 1 添加权限: <!-- 往SDCard写入数据权限 --> <uses-permission android:name="an ...
- android 默认浏览器 视频播放 二维码,Android调用系统默认浏览器访问的方法
一.启动android默认浏览器 这样子,android就可以调用起手机默认的浏览器访问. 二.指定相应的浏览器访问 1.指定android自带的浏览器访问 ( "com.android.b ...
- Android 调用系统裁剪,适配11和12及手机
前言:发现Android 调用系统裁剪时,在各Android 版本出现各种问题,踩了一堆坑,做一下总结,免得以后忘记 后面会有完整裁剪代码 1,一加手机报错 intent.putExtra(" ...
最新文章
- 推荐一个不错的开源在线HTML编辑器
- 本地生活服务 巨头们玩不转的电商蓝海
- BootStrap学习(6)_模态框
- 样条之贝塞尔(Bezier)
- Spring MVC面试题
- C#.Net工作笔记003---异步编程async await
- Python程序提示出现File stdin,line 1错误解决方法
- android 分享qq微信朋友圈,H5微信JS-SDK实现分享朋友 朋友圈以及QQ自定义分享
- Java简单循环依赖的解决 —— spring_imitate(Spring的模仿)
- 《新程序员》走进名企线下交流活动——微软亚洲研究院
- android wifi连接优先级,gogo平台靠谱吗-官方网站
- 专家议微软黑屏:目的正当 手段未必正当
- 静态创意和动态创意_2020年创意工作的5个预测
- 利用串口对 89S 系列单片机编程
- 计算机组成原理_主存与CPU的连接
- 产品经理与用户体验研究的关系
- 地铁大数据挖掘之数据预处理——从原始一卡通数据提取城市地铁客流(二)
- HDU 5445 Food Problem
- maven项目设置多个源文件夹
- 网络共享怎样改自己的计算机名字,局域网共享设置|如何设置局域网共享