我正在使用以下代码:
Intent fileIntent = new Intent(Intent.ACTION_GET_CONTENT);
fileIntent.setType("image/jpg|image/png|image/jpeg");
startActivityForResult(fileIntent, REQUEST_FILE);
我相信该代码应允许我选择任何jpg,png或jpeg文件,但是没有。
另一方面,更改fileIntent.setType(“ image / jpg | image / png | image / jpeg”);到fileIntent.setType(“ image / *”);允许选择文件。但是它也允许选择我不想使用的另一个图像文件。
需要在fileIntent.setType(“ image / jpg | image / png | image / jpeg”)中更正的内容;因此它允许选择那些类型的文件,而不是其他类型的文件?
您只能使用setType()
指定一个模仿类型,而要使用带有模仿类型数组的键Intent.EXTRA_MIME_TYPES
来应用其他模仿类型:
fileIntent.putExtra(Intent.EXTRA_MIME_TYPES, Arrays.asList("image/png", "image/jpeg").toArray());
[我发现,即使提供了模仿类型列表,您仍然可能需要将intent.fileType("*/*");
应用于意图,但是,模仿类型列表将具有优先权。