我想从存储中打开图像。如果应用程序第一次运行并且我接受权限,则它会崩溃,因为它无法获取要显示的图像的uri信息。如何获取有关我选择的图像的uri信息?
if (grantResults[0] == PackageManager.PERMISSION_GRANTED)
{
imgLogo.setImageBitmap(null);
Uri orgUri,uriFromPath;
String convertedPath;
//Uri return from external activity
orgUri = data.getData();
//path converted from Uri
convertedPath = getRealPathFromURI(orgUri);
//Uri convert back again from path
uriFromPath = Uri.fromFile(new File(convertedPath));
try {
Bitmap image = MediaStore.Images.Media.getBitmap(getContentResolver(), uriFromPath);
imgLogo.setImageBitmap(image);
} catch (IOException e) {
e.printStackTrace();
}
} else {
Log.e("Permission", "Denied");
}
答案 0 :(得分:2)
onRequestPermissionsResult()
回调只会包含有关授予结果的权限的数据。对于图像数据,您必须从onActivityResult()
回调中获取它。