android – 仅用于文件的意图过滤器

android – 仅用于文件的意图过滤器,第1张

概述在我们的应用程序中,我们要显示在“通过分享”菜单中.所以我们将这个意图过滤器添加到我们的活动中: <intent-filter> <action android:name="android.intent.action.SEND" /> <category android:name="android.intent.category.DEFAULT" /> <data andr 在我们的应用程序中,我们要显示在“通过分享”菜单中.所以我们将这个意图过滤器添加到我们的活动中:
<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>

它的工作原理,我们的应用程序出现在共享菜单中.

然而,意图过滤器并不完全符合我们想要实现的目标:

>我们想出现在所有文件的菜单中,无论mime类型是什么
>我们只想显示文件.到目前为止,如果用户想要分享一个简单的文本,因为它的mime类型将是文本/简单的,我们的应用程序出现在菜单中,我们不想要它.

所有文件和文件的正确意图过滤器是什么?

提前致谢.

我们尝试添加scheme = file和host =“”或“*”,它不起作用,许多应用程序使用scheme = content来共享基于文件的内容.

解决方法

we want to appear in the menu for all files,whatever there mime type is

尝试一个MIME类型的* / *.

we want to appear only for files. And up to Now,if the user wants to share a simple text,as its mime type will be text/plain,our app appears in the menu and we don’t want it. We trIEd to add scheme=file and host=”” or “*” and it doesn’t work as many app use a scheme=content to share file based content.

然后有两个< data>元素,一个用于内容方案,一个用于文件方案.

<data androID:mimeType="*/*" /><data androID:scheme="content" /><data androID:scheme="file" />

但是,请记住,内容方案并不意味着它必然是一个文件.

总结

以上是内存溢出为你收集整理的android – 仅用于文件的意图过滤器全部内容,希望文章能够帮你解决android – 仅用于文件的意图过滤器所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1134061.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-30
下一篇2022-05-30

发表评论

登录后才能评论

评论列表(0条)

    保存