1

我想在我的应用程序中打开扩展名为 .bslvl 的文件。我使用了以下意图过滤器:

<intent-filter>
   <action android:name="android.intent.action.VIEW" />
   <category android:name="android.intent.category.DEFAULT" />
   <data
      host="*"
      android:mimeType="*/*"
      android:pathPattern=".*\\.bslvl"
      android:scheme="file" /> 
</intent-filter>

问题是路径模式不起作用。我的应用程序现在会自动打开每个具有未知扩展名的文件。(例如 .cfg .rdroid .rudi 文件)

如果我更改了意图过滤器中的内容,我的应用程序不会查看 .bslvl 文件。

电子邮件附件也存在同样的问题。我使用了另一个意图过滤器,因为 gmail 找不到我的应用程序作为 .bslvl 文件的查看器,我只将 mimeType 更改为

android:mimeType="application/octet-stream"

但是,现在 gmail 尝试查看每个带有未知分机的文件。用我的应用程序。

我做错了什么?

stackoverflow 上的其他解决方案并没有解决我的问题。

4

1 回答 1

0

您尚未指定 android:host 属性。

根据意图过滤器文档...

仅当还为过滤器指定了方案和主机属性时,这些属性才有意义。

看起来您尝试提供主机,但您忘记使用 android 命名空间限定您的主机属性。

于 2013-11-03T15:17:01.330 回答