wir*_*d00 5 android picasa android-gallery
我正在尝试获取图像的本地路径,以便将其上传到服务器.当使用pre ICS时,它将通过Android设备获得标准路径getRealPathFromURI(theURI)
但是,ICS URI将包含uriString如下内容:content://com.google.android.gallery3d.provider/picasa/item/12312312312312.
并运行getRealPathFromURI(theURI)返回null
我现在需要提取以上内容uriString并通过API手动下载图像(如果我检测到它是Picasa图库图像)而不是本地存储的图像吗?还是我完全错过了什么?
谢谢你的建议
编辑:
好像我在寻找错误的问题......
在下面的链接中发现了这个问题......这正是我所期望的,我需要做的事情.相当恼人的谷歌/ android没有更优雅地处理这个.
要正确处理从图库中提取图像,您需要处理三种情况:
用户选择了本地图像文件
用户选择了Picasa图像,设备正在运行3.0之前的Android版本
用户选择了Picasa图片,设备正在运行Android 3.0及更高版本
小智 8
这就是我在运行Android 4.0+的设备上发现的.
您提供的ICS URI是一个带有content:// scheme的URI,因此应该有一个ContentProvider负责.因此,getRealPathFromURI()使用的技巧有什么用?让ContentResolver为您完成这项工作:
InputStream inStream = getContentResolver().openInputStream(theUri);
Bitmap bitmap = BitmapFactory.decodeStream(is);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8780 次 |
| 最近记录: |