2

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

我有一些适用于 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);

在 1st Gen Fire 这工作正常并返回: content:///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,其中 content:// 方案与从图库中选择的 file:// 相对。

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

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

4

0 回答 0