首先解释下我想要达成的目标:
我正在开发一个图片分享应用程序,需要用户从文件系统中选择一张图片。
为此,我正在使用以下代码:
Intent photoPickerIntent = new Intent(Intent.ACTION_GET_CONTENT);
photoPickerIntent.setType("image/*");
startActivityForResult(photoPickerIntent, REQUEST_CODE_IMAGE_PICKER_INTENT);
现在,这将触发一个选择器,在其中我可以看到包括画廊和我手机上的文件管理器应用程序在内的多个选项。如果我选择画廊并从中选择一张图片,那么我的Activity将接收到一个带有图像内容URI的Intent。但是如果我选择文件管理器应用程序,则可以选择任何可能不是图像的文件。因此,我需要能够确定意图返回的URI的MIME类型。意图的getType方法返回null。
有没有办法从返回的意图中确定MIME以确定内容是否为图像。
如果这种方式不起作用,那么我可能需要使用MimeTypeMap来根据文件扩展名确定MIME。
onActivityResult()
中做同样的事情,但是getType(data.getData())
返回了null。 - Narendra Singh