接受第三方app分享的数据

行是知之始,知是行之成。这篇文章主要讲述接受第三方app分享的数据相关的知识,希望能为你提供帮助。
    前段时间公司项目需要一个需求: 把第三方的app分享的数据接受到自己的apk中, 涉及到的第三方app是:  Youtube/Amazon/NetFlix, 这些app通过分享功能把当前的信息分享出去。废话少说, 上代码,
    1.   首先在你的app的androidManifest.xml中加入红色方框的代码, 一定要是android.intent.action.MAIN的activity:

接受第三方app分享的数据

文章图片

    2.   然后在启动的activity中加入如下的代码:
接受第三方app分享的数据

文章图片

接受第三方app分享的数据

文章图片

 
      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分享的数据】 

    推荐阅读