在授予权限时,如何从onRequestPermissionsResult获取意图数据

时间:2016-03-16 15:53:29

标签: android android-intent permissions imageview uri

我想从存储中打开图像。如果应用程序第一次运行并且我接受权限,则它会崩溃,因为它无法获取要显示的图像的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");
            }

1 个答案:

答案 0 :(得分:2)

onRequestPermissionsResult()回调只会包含有关授予结果的权限的数据。对于图像数据,您必须从onActivityResult()回调中获取它。