java - 用于自定义文件类型的 Android 意图过滤器
问题描述
问题
我有一个zip文件,但有一个自定义文件扩展名xyz。我希望我的应用程序能够仅打开具有自定义文件扩展名xyz的文件:
- 邮箱,
Open with
从 android 文件资源管理器中,Share via
从 android 文件资源管理器。
我已经尝试过的
我最好的办法是只使用一个 mime 类型的application/zip
. 但是,这也会打开文件扩展名为.zip的文件。
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:mimeType="application/zip" />
</intent-filter>
我试图添加一个<data android:pathPattern=".*\\.xyz"/>
. 但问题是,只要我不指定android:scheme
并android:host
在此处查看,它将被忽略。
仅当还为过滤器指定了方案和主机属性时,此属性才有意义。
一旦我指定了下一个代码段中看到的方案和主机,我什至无法用我的应用程序打开任何文件:
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:host="*" />
<data android:scheme="*" />
<data android:mimeType="application/zip" />
<data android:pathPattern=".*\\.xyz"/>
</intent-filter>
可能的重复:
解决方案
使用application/octet-stream
而不是application/zip
. 贝娄为我工作:
<intent-filter tools:ignore="AppLinkUrlError"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:priority="50" >
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="file" />
<data android:scheme="content" />
<data android:mimeType="application/octet-stream" />
<data android:pathPattern=".*\\.ext" />
<data android:pathPattern=".*\\..*\\.ext" />
<data android:pathPattern=".*\\..*\\..*\\.ext" />
</intent-filter>
推荐阅读
- laravel - 如何在 Laravel 中不使用模型来定义雄辩的关系?
- python - 当以行优先顺序存储的矩阵的axis = 0时,为什么numpy.sum执行得更快?
- android - iframe 在 Android 5 和 6 上为空白
- ios - 获取用于视频上传的视频 (PHAsset) 的 url - swift
- python-3.x - 如何将列转换为行?
- android - 当我按下时如何更改图像视图图片
- python - hackerrank 问题在 jupyter 中运行良好,但在hackerrank 中失败
- python - Tkinter 由于keyboard.is_pressed 函数而停止,也许是线程?
- python - 如何在 python 中解析谷歌搜索结果?
- d3.js - 如何在 DC.js 的 Linechart 中将月份名称缩写为 X 轴