在原生 Android 文件选取器中按 mimetype 或扩展进行筛选
2022-09-03 08:08:59
在Android中,可以使用 Intent 打开本机文件选取器并选择例如一个文件。这是通过使用以下代码将 mime 类型设置为实现的:ACTION_OPEN_DOCUMENT
.mp4
video/mp4
public static void pickFile(Context mContext, int REQUEST_CODE) {
Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
intent.addCategory(Intent.CATEGORY_OPENABLE);
intent.setType("video/mp4");
((Activity) mContext).startActivityForResult(intent, REQUEST_CODE);
}
在我的项目中,我想选择一个自定义扩展文件,其哑剧类型在Android的MimeTypeMap中是未知的,例如.qgs或.dcm文件。
为了解决这个问题,我看到了两种可能性,到目前为止,我们未能实现:
- 按意向中的扩展名进行筛选
ACTION_OPEN_DOCUMENT
- 将新的哑剧类型注册到Android,以便它可以与意图一起使用
ACTION_OPEN_DOCUMENT
这些选项中的任何一个是否可行以及如何可行?还是我没有编写自己的文件选取器编码而错过的其他方法?