【问题标题】:Multiple MIME types (for images and pdfs) are not working in RedMI Note (Android 6.0)多种 MIME 类型(用于图像和 pdf)在 RedMI Note (Android 6.0) 中不起作用
【发布时间】:2017-09-22 13:57:17
【问题描述】:
        Inetnt pickIntent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
        pickIntent.addCategory(Intent.CATEGORY_OPENABLE);
        String [] mimeTypes = {"image/*", "application/pdf"};
        pickIntent.putExtra(Intent.EXTRA_MIME_TYPES, mimeTypes);
        pickIntent.setType("application/pdf","image/*");
        pickIntent.putExtra(Intent.EXTRA_LOCAL_ONLY, true);

这里 setType("application/pdf","image/") 和 mimeTypes = {"image/", "application/pdf"} 都不起作用,当我使用这段代码时它正在打开设备文件资源管理器,但任何文件夹中都没有任何文件,即使文件存在。

【问题讨论】:

  • 详细解释,“不工作”是什么意思。你的症状是什么?另请注意,application/pdf|image/* 不是有效的 MIME 类型。
  • 检查此链接以获取 android stackoverflow.com/questions/1698050/… 中的多个 MIME 类型
  • 您的代码不完整;特别是,它似乎缺少一个main() 函数和至少一个import。请edit您的代码,这是您的问题的minimal reproducible example,然后我们可以尝试重现并解决它。您还应该阅读How to Ask

标签: android android-intent


【解决方案1】:

查看此示例代码以了解 android 中的多种 MIME 类型

Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
intent.addCategory(Intent.CATEGORY_OPENABLE);
intent.setType("*/*");
String[] mimetypes = {"image/*", "application/pdf"};
intent.putExtra(Intent.EXTRA_MIME_TYPES, mimetypes);
startActivityForResult(intent, REQUEST_CODE_OPEN);

【讨论】:

  • 感谢您回答@Hasnain,但是当我使用此代码时,intent.setType("/");在设备打开文件资源管理器中包含所有类型的文件并能够选择所有类型的文件。
  • 它的工作代码我已经在我的设备上对其进行了测试,它可以查看所有设备 pdf 和图像。您是否面临任何特定设备或每台设备上的问题
  • Kishore 上的+1,它显示所有文件,因此该解决方案取决于设备,而不是通用解决方案(Android 9、Honor view 20、股票应用)
【解决方案2】:

红米手机无法识别“image/*”中的*通配符,请单独指定文件类型。 即:String[] mimetypes = {"image/jpeg","image/png","image/exif"} 等等

【讨论】:

    猜你喜欢
    • 2022-10-18
    • 2018-06-07
    • 1970-01-01
    • 1970-01-01
    • 2010-12-14
    • 1970-01-01
    • 2017-04-18
    • 2016-05-12
    • 2015-01-05
    相关资源
    最近更新 更多