Android 在分享列表添加自己的应用

关于在分享列表添加应用

「How to make my Android app appear in the share list of another specific app」

「android系统分享功能,将自己的APK加入可分分享的应用列表」

目前业务需求,需要在Android系统下,用户从文件管理器长按文件分享的时候,能出现我们的App列表。

参考了上面两篇文章的操作,尝试在Manifest里面直接添加一个


    
    
    

尝试后在分享列表里面还是无我们App应用,后面将单独的mimeType改为text/plain,之后发现在分享文本文件的时候生效了,测试设备为华为的Mate30。

尝试将上面的代码修改为


    
    
    
    
    

想直接通过mimeType匹配全部类型的文件,但是发现该配置添加后,无论是打开纯文本文件分享,或者mp3、图片等二进制数据分享都无效,表现的效果为在分享面板无我们的App展示。

之后结合Stack OverFlow(文章一最后的一条Respon)和文章二里面的mimeType,将IntentFilter依次添加不同的mimeType,分享列表随即能展示出我们的应用了;测试设备依旧为华为Mate30,Harmony 2.0系统。


    
    
    
    
    
    
    
    
    
    
    
    
    
    
    

总结:

  • Manifest需要添加IntentFilter配置,ACTION需要设置为Intent.SEND,category为default
  • 依次将不同的mimeType添加到IntentFilter上,可能因为兼容问题,不能直接用*/*匹配
  • data里面需要注意不能添加scheme = file或者content,否则无法适配(应该是部分机型的问题)
  • 使用IntentFilter的activity,必须要在里面加上exported = true

你可能感兴趣的:(Android基础,android)