我试图从库中获取所选文件的路径,但它返回null,我不知道为什么。我看到的每个代码都使用相同的方法,但对我无效。这里是我的代码:来自Uri的图像路径返回null
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// LOAD_FILE_REQUEST is a global variable:
// private static final int LOAD_FILE_REQUEST = 1;
if (requestCode == LOAD_FILE_REQUEST && resultCode == RESULT_OK && data != null) {
if(data.getData() == null) {
System.out.println("NULL");
} else {
System.out.println("NOT NULL"); // <--- Printed
}
currImageURI = data.getData();
String[] filePathColumn = {MediaStore.Images.Media.DATA};
Cursor cursor = getContentResolver().query(currImageURI, filePathColumn, null, null, null);
if(cursor.moveToFirst()){
int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
String yourRealPath = cursor.getString(columnIndex);
System.out.println("REAL PATH "+yourRealPath);
} else {
System.out.println("NO ROWS!!!"); // <-- Not printed
}
cursor.close();
}
}
这“你得到一个相对的URI,当你查询它的位置(...)ContentResolver没有该文件的路径。”帮助我用另一种方法解决我的问题。不是试图获取图像位置,而是将其保存在sd上,然后通过这个新的文件路径进行访问。谢谢。 – lucasdc 2014-08-28 16:16:31