行是知之始,知是行之成。这篇文章主要讲述接受第三方app分享的数据相关的知识,希望能为你提供帮助。
前段时间公司项目需要一个需求: 把第三方的app分享的数据接受到自己的apk中, 涉及到的第三方app是:
Youtube/Amazon/NetFlix, 这些app通过分享功能把当前的信息分享出去。废话少说, 上代码,
1.
首先在你的app的androidManifest.xml中加入红色方框的代码, 一定要是android.intent.action.MAIN的activity:
文章图片
2. 然后在启动的activity中加入如下的代码:
文章图片
文章图片
3. 解析:
intent filter会告诉系统程序会打算接收什么。就和前面讲的如何用ACTION_SEND创建intent相似,创建intent filter来接收带有这个操作的intent。在manifest中用< intent-filter> 元素来来定义一个intent filter。例如,如果程序可接收文字,任何类型的单张图片,或任何类型的多张图片.
当其他程序通过创建intent然后传递给startActivity()来分享上面的类容,你的程序会在intent chooser列表中显示,如果用户选择了你的程序,相应的activity(上面例子中的.ui.MyActivity)将会被启动。然后就由你来在代码和界面中来处理内容了.
要处理Intent传递的数据,首先调用getIntent()来获得Intent对象。一旦获得了这个对象,可以通过查看数据来决定接下来怎么做。记住如果activity可以从系统的其他部分启动,比如launcher,那么需要在查看intent的时候考虑这些情况。
注意:要格外小心的检查传入的数据,你不知道其他程序传进来什么。例如,有可能设置了错的MIME类型,或者图片可能非常大。还要记住,在另外一个线程中处理二进制数据,而不是UI线程。
更新UI可以是像填充EditText一样简单,或者更难一些像在一张图片上添加一个有趣的滤镜。由你的程序来决定接下来会发生什么。
我是第一次写博客, 写的不好, 大家可以给出建议, 谢谢大家的指教.......
【接受第三方app分享的数据】
推荐阅读
- call和apply方法
- Mybatis通用Mapper(转)
- Android中Parcelable接口用法
- dispatch_apply的用法
- 《完美解决系列》Android5.0以上 Implicit intents with startService are not safe
- Kivy 中文教程 实例入门 简易画板 (Simple Paint App)(0. 项目简介 & 成果展示)
- Android Bug分析系列(第三方平台安装app启动后,home键回到桌面后点击app启动时会再次启动入口类bug的原因剖析)
- Android SDK下载和更新时遇到的问题&解决方法
- ssemble JavaBeans components into an application without having to write any code