我尝试获取图像文件的路径,但getPath()方法返回null(游标为null)。
@Bean
selectedImageUri = data.getData();
public String getPath(Uri uri) {
String[] projection = { MediaStore.Images.Media.DATA };
Cursor cursor = managedQuery(uri, projection, null, null, null);
if (cursor != null) {
int column_index = cursor
.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
cursor.moveToFirst();
return cursor.getString(column_index);
} else
return null;
}
我真的不知道如何解决这个问题。
答案 0 :(得分:0)
Uri
不必代表您可以访问的文件系统上的文件。 Uri
可能指向以下内容:
ContentProvider
需要解密ContentProvider
需要加载并提供它ContentProvider
需要下载您可以使用ContentResolver
和openInputStream()
获取InputStream
所代表内容的Uri
。您可以在您控制的某个文件上创建FileOutputStream
。并且,您可以使用Java I / O从InputStream
复制到OutputStream
,在您控制的文件中创建自己的内容副本。