我想在我的应用中打开扩展名为.bslvl的文件。我使用了以下intent-filter:
<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文件)
如果我更改了intent-filter中的内容,则不会使用我的应用程序查看.bslvl文件。
同样的问题是电子邮件附件。我使用了另一个intent-filter,因为gmail找不到我的应用程序作为.bslvl文件的查看器,我只将mimeType更改为
android:mimeType="application/octet-stream"
但是,现在gmail尝试查看具有未知ext的每个文件。用我的应用程序。
我做错了什么?
stackoverflow上的其他解决方案还没有解决我的问题。
答案 0 :(得分:0)
您尚未指定android:host属性。
根据intent-filter文档......
仅当为过滤器指定了方案和主机属性时,这些属性才有意义。
看起来你试图提供一个主机,但你忘了用android命名空间限定你的主机属性。