这个问题最初是针对Android 1.6提出的.
我在我的应用程序中处理照片选项.
我的Activity中有一个按钮和一个ImageView.当我点击按钮时,它会重定向到图库,我可以选择一个图像.所选图像将出现在我的ImageView中.
我正试图从画廊获取图像.
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(intent, "Select picture"), resultCode );
Run Code Online (Sandbox Code Playgroud)
从这个活动返回后,我有一个包含Uri的数据.看起来像:
content://media/external/images/1
Run Code Online (Sandbox Code Playgroud)
如何将此路径转换为真实路径(就像' /sdcard/image.png')?
谢谢
我有一个以编程方式生成的图像,我想通过ACTION_SEND和EXTRA_STREAM方法作为附件发送.
但是我该怎么做?
我的第一次尝试(写入我的context.getCacheDir()基础文件路径)似乎在Gmail预览中有效(没有图像预览,但附件文件名和图标可见),但附件从未到达收件人端.我想这与生成的文件的权限有关,但如何避免这种情况?我是否需要在这些生成的文件上设置更宽松的设置(以便Gmail活动可以访问)?应用程序的缓存文件夹甚至可以吗?
是否有另一个文件位置更适合写我的文件?我考虑了下载文件夹,但认为这对于只有在通过电子邮件发送之前才需要存在的东西才是一个尴尬的位置.
我甚至尝试过纯粹在data:image/png;base64,ABCD...样式URI中编码我的图像.这也出现在Gmail预览中(附件图标,但没有文件名),但未导致收件人端附件.
有没有人能够通过任何方式将一次性生成的图像附加到电子邮件意图?我可能忽略了哪些选择?