我面临一个奇怪的问题。 我的应用程序中有一个表单,用户将输入一些详细信息,然后选择一个图像。 按下提交后,将触发电子邮件意图,该电子邮件意图将创建一个电子邮件草稿,其中用户的输入粘贴在邮件正文中,并且所选图像附加到电子邮件中。
我有一些代码适用于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,而不是文件://从库中选择。
我真的没有任何线索可以解决这个问题。自一个多星期以来苦苦挣扎。
任何帮助,任何线索都非常感谢。 谢谢, 约杰什。