android - 如何注册我的 Android 应用程序以打开我的自定义文件扩展名,而不是所有文件

标签 android android-manifest intentfilter file-type

我正在尝试将我的应用程序与我的自定义文件扩展名相关联。

like here

我确实成功了,但是现在,我的应用程序想要打开每个文件、pdf...或其他任何文件。我的自定义文件没有特定的 minetype,因此我正在尝试使用不同的 pathPattern 组合,但没有发现任何适用于 Android 4 的东西。

<data android:pathPattern=".*\\.custom" />

这在 Android 2.3.3 上运行良好,但在 v4 上运行不佳。

我应该怎么做才能让它发挥作用?有小费吗 ?谢谢!

最佳答案

好吧,我终于设法让它更好地工作,我仍然没有完全理解 list Intent 过滤器应该如何工作,但这是我所做的:

Intent intercept app 向我展示了我的文件的 mimetype:“text/plain” 所以我首先要做的是添加:

 <data android:mimeType="text/plain" >

因此,此时,我的应用不再针对每个文件显示。

然后,当我创建文件时,我添加了:sendIntent.setType("application/custom"); 并且我在 list 文件中添加了相应的 mimetype。

这种方式在我测试过的 Android 2 和 4 手机上效果很好。

如果有人发现或写了一些关于 intent-filter 是如何工作的,请告诉我!

关于android - 如何注册我的 Android 应用程序以打开我的自定义文件扩展名,而不是所有文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23137890/

相关文章:

android - content_main.xml 没有在我的 android 项目中生成

java - 在 android 中处理最近的应用程序点击和主页按下

android - 自定义部分 Android Manifest

android - 为不同的 Activity 处理相同的 Intent 过滤器

Android 共享 Intent 选择器 - 仅邮件和剪贴板

java - 如何减小 Android 上通过共享 Intent 收到的图片的大小?

java - 如何让 Android 应用程序在后台运行

java - 检测某个文件夹android中重复文件的最佳方法

Android:禁用平板电脑的应用程序

android - 有哪些替代方法可以启动我的应用程序?