在KitKat之前(或在新Gallery之前)Intent.ACTION_GET_CONTENT返回这样的URI
内容://媒体/外部/图像/媒体/ 3951.
使用ContentResolver和quering
MediaStore.Images.Media.DATA返回文件URL.
但是在KitKat中,Gallery会返回一个URI(通过"Last"),如下所示:
内容://com.android.providers.media.documents/document/image:3951
我该如何处理?
android android-intent android-contentresolver android-gallery
我想为Android Lollipop创建一个图像选择器.我Intent.ACTION_GET_CONTENT用来选择我的图片但是我无法从URI中获取所选图像的路径,对话框选择器返回了该路径.
我试过这些主题的代码:
从gallery kitkat android中选择图像时检索绝对路径
https://chintankhetiya.wordpress.com/2013/12/14/picture-selection-from-camera-gallery/
但是所有这些都返回null.谁能帮我?
我一直试图获得在KitKat画廊中选择的图像的绝对图像路径,但它似乎没有成功.IMAGE_FILEPATH无论我做什么,我的变量总是"".这是我的代码onActivityResult()
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode != Activity.RESULT_OK) return;
if (null == data) return;
Uri originalUri = null;
if (requestCode == 1) {
//JB!!!
Uri uri = data.getData();
if (uri != null) {
try {
// User had pick an image.
String[] filePathColumn = { MediaStore.Images.Media.DATA };
Cursor cursor = getContentResolver()
.query(uri,
filePathColumn, null, null, null);
cursor.moveToFirst();
IMAGE_FILEPATH = cursor.getString(0);
cursor.close();
} catch (Exception e) {
Crouton.makeText(this, …Run Code Online (Sandbox Code Playgroud)