【问题标题】:Android: Open files with a custom extension and only these filesAndroid:打开具有自定义扩展名的文件并且仅打开这些文件
【发布时间】:2013-09-19 11:52:44
【问题描述】:

我想在我的应用中打开扩展名为 .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 上的其他解决方案并没有解决我的问题。

【问题讨论】:

  • 我不确定这是否能解决您的问题,但我认为应该是“android:host”而不是“host”

标签: android gmail mime-types file-extension intentfilter


【解决方案1】:

您尚未指定 android:host 属性。

根据intent-filter 文档...

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

您似乎试图提供一个主机,但您忘记使用 android 命名空间限定您的主机属性。

【讨论】:

    猜你喜欢
    • 2016-11-12
    • 1970-01-01
    • 1970-01-01
    • 2019-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多