用于图像的Kindle Fire HD上的ACTION_GET_CONTENT以文件方案而不是内容方案返回数据

时间:2013-04-24 06:39:39

标签: android kindle-fire

我面临一个奇怪的问题。 我的应用程序中有一个表单,用户将输入一些详细信息,然后选择一个图像。 按下提交后,将触发电子邮件意图,该电子邮件意图将创建一个电子邮件草稿,其中用户的输入粘贴在邮件正文中,并且所选图像附加到电子邮件中。

我有一些代码适用于Kindle Fire 1st Gen以及其他Android设备。但这同样对Fire HD-7无效。

以下是解雇图像选择意图的代码。

Intent intent = new Intent(); intent.setType("image/*"); intent.setAction(Intent.ACTION_GET_CONTENT); intent.addCategory(Intent.CATEGORY_OPENABLE); startActivityForResult(Intent.createChooser(intent, "Select Media"), SELECT_MEDIA);

在第一代Fire上,这可以正常工作并返回: 内容:///mnt/sdcard/Download/naturewallpapers252862529.jpg

但是在Fire HD-7上,它会返回: file:///mnt/sdcard/Android/data/com.amazon.photos/files/Pictures/Shared/naturewallpapers252862529(7)jpg

这是最令人恼火的事实:

案例1)在HD-7上,如果我从图库中选择图像,它会在“ /mnt/sdcard/Android/data/com.amazon.photos/files/Pictures/Shared中创建所选图像的副本/ “并返回此路径,该路径不能与我的代码一起使用附件创建电子邮件意图。此外,每当我选择相同的图像时,它会为同一图像创建一个带有(1),(2)等的新副本。

案例2)在HD-7上,如果我从 ES文件浏览器中选择图像,那么一切正常。它返回 content:///mnt/sdcard/Download/naturewallpapers252862529.jpg uri,其中包含内容:// scheme,而不是文件://从库中选择。

我真的没有任何线索可以解决这个问题。自一个多星期以来苦苦挣扎。

任何帮助,任何线索都非常感谢。 谢谢, 约杰什。

0 个答案:

没有答案