小编Lev*_*vey的帖子

在原生Android文件选择器中按mimetype或extention进行过滤

在Android中,可以使用ACTION_OPEN_DOCUMENTIntent 打开本机文件选择器并选择例如.mp4文件.这是通过将mime类型设置为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);
    }
Run Code Online (Sandbox Code Playgroud)

在我的项目中,我想选择一个自定义扩展文件,其mime类型在android的MimeTypeMap中是未知的,例如.qgs或.dcm文件.

为了解决这个问题,我发现到目前为止我们未能实现的两种可能性:

  1. ACTION_OPEN_DOCUMENTIntent中按扩展名过滤
  2. 向android注册一个新的mime类型,以便它可以与ACTION_OPEN_DOCUMENTIntent 一起使用

这些选择是否可行以及如何? 或者我没有编写自己的文件选择器而错过了其他方法吗?

java android filepicker android-intent mime-types

14
推荐指数
1
解决办法
573
查看次数

标签 统计

android ×1

android-intent ×1

filepicker ×1

java ×1

mime-types ×1