Intent.setType()对Android的Intent选择器的影响

时间:2019-02-01 11:31:56

标签: android android-intent mime-types android-implicit-intent

使用ACTION_SEND将图像发送到其他应用程序时,确实使用Intent.setType(“ image / *”)和Intent.setType(“ image / jpeg”)在android的意图选择器显示的应用程序列表中有所不同。

理想情况下,我们希望将“ png”和“ jpeg”图像发送到其他应用程序,并且我们希望Intent选择器显示所有可以处理这些图像的应用程序。是否使用mimeType为“ image / *”使Intent选择器修剪可以处理“ png”和“ jpeg”图像但不能处理其他图像格式的应用。

1 个答案:

答案 0 :(得分:0)

您需要在intent中提供一个额外的(EXTRA_MIME_TYPES)参数,该参数需要一个字符串数组,并且该数组包含您要支持的其他图像类型。

String[] mimeTypes = {"image/jpeg", "image/png"};
Intent intent = new Intent(Intent.ACTION_SEND)
        .setType("image/*")
        .putExtra(Intent.EXTRA_MIME_TYPES, mimeTypes);