无法为 jpg、png 和 jpeg 类型的图像文件设置 fileIntent
Cannot set a fileIntent for image files of type jpg, png and jpeg
我正在使用以下代码:
Intent fileIntent = new Intent(Intent.ACTION_GET_CONTENT);
fileIntent.setType("image/jpg|image/png|image/jpeg");
startActivityForResult(fileIntent, REQUEST_FILE);
我相信代码应该允许我 select 任何 jpg、png 或 jpeg 文件,但它不允许。
另一方面改变fileIntent.setType("image/jpg|image/png|image/jpeg");至 fileIntent.setType("image/*");允许 select 文件。但它也允许 select 另一个我不想要的图像文件。
fileIntent.setType("image/jpg|image/png|image/jpeg")中需要更正的地方;所以它允许选择这些类型的文件而不是其他类型的文件?
您只能使用 setType()
指定单个 mimetype,而不是使用带有 mimetypes 数组的键 Intent.EXTRA_MIME_TYPES
应用额外的:
fileIntent.putExtra(Intent.EXTRA_MIME_TYPES, Arrays.asList("image/png", "image/jpeg").toArray());
我发现即使提供了 mimetypes 列表,您可能仍然需要将 intent.fileType("*/*");
应用于意图,无论如何,mimetypes 列表将优先。
我正在使用以下代码:
Intent fileIntent = new Intent(Intent.ACTION_GET_CONTENT);
fileIntent.setType("image/jpg|image/png|image/jpeg");
startActivityForResult(fileIntent, REQUEST_FILE);
我相信代码应该允许我 select 任何 jpg、png 或 jpeg 文件,但它不允许。
另一方面改变fileIntent.setType("image/jpg|image/png|image/jpeg");至 fileIntent.setType("image/*");允许 select 文件。但它也允许 select 另一个我不想要的图像文件。
fileIntent.setType("image/jpg|image/png|image/jpeg")中需要更正的地方;所以它允许选择这些类型的文件而不是其他类型的文件?
您只能使用 setType()
指定单个 mimetype,而不是使用带有 mimetypes 数组的键 Intent.EXTRA_MIME_TYPES
应用额外的:
fileIntent.putExtra(Intent.EXTRA_MIME_TYPES, Arrays.asList("image/png", "image/jpeg").toArray());
我发现即使提供了 mimetypes 列表,您可能仍然需要将 intent.fileType("*/*");
应用于意图,无论如何,mimetypes 列表将优先。