首先是我想要实现的一些背景 -
我正在开发一个图像共享应用程序,我需要用户从文件系统中选择一个图像。
为此,我正在使用此代码 -
Intent photoPickerIntent = new Intent(Intent.ACTION_GET_CONTENT);
photoPickerIntent.setType("image/*");
startActivityForResult(photoPickerIntent, REQUEST_CODE_IMAGE_PICKER_INTENT);
现在,这会触发一个选择器,在其中我看到多个选项,包括我手机中的 Gallery 和 FileManager App。如果我选择画廊并从那里选择一个图像,那么我的活动会收到一个带有图像内容 uri 的意图。但如果我选择 FileManager 应用程序,我可以选择任何可能不是图像的文件。所以,我需要的是能够确定意图中返回的 uri 的 mime 类型。Intent 的 getType 方法返回 null 。
有没有办法从返回的意图中确定 mime 以确定内容是否为图像。
如果这不起作用,那么我可能不得不使用 MimeTypeMap 从文件扩展名中确定 mime。