Android应用中使用及实现系统“分享”接口
来源:互联网 发布:飞凡 嵌入式淘宝网 编辑:程序博客网 时间:2024/06/03 04:21
本文转自张兴业的博客:http://blog.csdn.net/xyz_lmn/article/details/16856843
为了应用的推广、传播,很多的应用中都有“分享”功能,一个按钮,点击后会出现短信、微博等等一切实现了分享功能的应用列表。这一篇文章主要介绍怎么调用分享功能和怎么实现分享接口让自己应用出现分享列表中。Android应用中能很方便的完成这些功能,这也正是Android的伟大之处,他能很简单的完成应用之间的沟通以相互整合。
调用分享功能
1、分享文本
分享功能使用的隐式启动Activity的方法,这里的Action使用的是 ACTION_SEND。
效果如下图的图一。
2、改变分享列表标题
使用上面的分享方式分享列表标题为“使用一下内容完成操作”,Android中提供了Intent.createChooser()
,这样能一直显示分享选择列表,并且修改了分享列表标题内容。
使用Intent.createChooser()的好处:
If you callIntent.createChooser()
for the intent, Android will always display the chooser. This has some advantages:
- Even if the user has previously selected a default action for this intent, the chooser will still be displayed.
- If no applications match, Android displays a system message.
- You can specify a title for the chooser dialog.
分享功能不只是Intent.EXTRA_TEXT,还可以 EXTRA_EMAIL
, EXTRA_CC
, EXTRA_BCC
,EXTRA_SUBJECT
. 只需要接受方完成响应数据接受。
3、分享图片
分享功能还支持二进制内容(Binary Content),但是多数是处理的图片,因为shareIntent.setType("image/jpeg")这一项设置了内容类型。可也以是其他类型,需要接受方支持。
4、分享图片列表
分享功能不仅支持单张图片,还支持图片列表,这里还是说的范围太窄了,应该声明不仅仅是图片。
实现分享功能
上面说的都是怎么调用分享功能,以下就开始写怎么实现分享功能,让我们的应用也出现在分享列表中。前面也说了分享功能是使用隐式调用Activtiy实现的,Activity需要声明 <intent-filter>
。
声明intent-filter
上面声明了三种intent-filter,当然可以更多,这里只是举个例子,
处理接收数据
声明了intent-filter,响应的Activity就要处理响应的数据,示例如下:
通过声明intent-filter,处理接受到的数据就能完成分享的接收功能。
更多
上面只做了分享功能简单的说明,伴随着Android api的升级,也出现了一些新的完成“分享”功能的方法,比如 ShareActionProvider
,更多请参考。
示例下载
参考:
http://developer.android.com/training/sharing/index.html
- Android应用中使用及实现系统“分享”接口
- Android应用中使用及实现系统“分享”接口
- Android应用中使用及实现系统“分享”接口
- Android应用中使用及实现系统“分享”接口
- Android应用中使用及实现系统“分享”接口
- Android应用中使用及实现系统“分享”接口
- Android应用中使用及实现系统“分享”与“被分享”接口
- Android应用中实现系统“分享”接口
- Android应用中使用及实现系统“分享”
- Android学习 - 使用及实现系统分享接口
- Android使用系统Intent实现分享功能及将应用加入分享列表
- Android应用启用系统分享接口
- Android系统中分享功能的实现
- Android中获取应用系统中应用信息接口
- android把自己的应用加入到系统分享中
- Android如何安装系统应用,及自己增加安装系统应用的接口
- android应用中分享到微信好友和朋友圈的实现
- android调用系统的分享接口
- 机器学习之常用算法总结
- macOS Sierra系统偏好设置->安全性和隐私->通用中的“任何来源” 选项开与关
- 码子有感
- 开博乱侃
- 教你如何在Linux下使用vi/vim编辑器
- Android应用中使用及实现系统“分享”接口
- 最短路的方法总结
- TensorFlow12: 判断男声女声
- xshell无法使用小键盘区输入数字
- bug之旧项目
- MySQL主从切换
- 米洛个人修炼术:导致上班累成狗的三大主因
- 在mac上编译lame
- CSRF(跨站请求伪造攻击)漏洞详细说明