Sni*_*las 12 android share intentfilter
在我们的应用中,我们希望出现在"分享通过"菜单中.所以我们在我们的活动中添加了这个intent-filter:
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="application/*" />
<data android:mimeType="audio/*" />
<data android:mimeType="image/*" />
<data android:mimeType="text/*" />
<data android:mimeType="video/*" />
</intent-filter>
Run Code Online (Sandbox Code Playgroud)
它工作正常,我们的应用程序出现在共享菜单中.
然而,意图过滤器并不完全符合我们想要的目标:
对于所有文件和仅文件,正确的intent-filter会是什么?
提前致谢.
我们尝试添加scheme = file和host =""或"*",并且它不起作用,因为许多app使用scheme = content来共享基于文件的内容.
我们希望出现在所有文件的菜单中,无论mime类型是什么
尝试MIME类型*/*.
我们只想出现在文件中.到目前为止,如果用户想要共享一个简单的文本,因为它的mime类型将是text/plain,我们的应用程序出现在菜单中,我们不想要它.我们尝试添加scheme = file和host =""或"*",并且它不起作用,因为许多app使用scheme = content来共享基于文件的内容.
然后有两个<data>元素,一个用于方案,content一个用于方案file.
<data android:mimeType="*/*" />
<data android:scheme="content" />
<data android:scheme="file" />
Run Code Online (Sandbox Code Playgroud)
但是,请记住,一个content方案并不意味着它必然是一个文件.
| 归档时间: |
|
| 查看次数: |
3219 次 |
| 最近记录: |