将从库中选择的图像添加到ImageView

时间:2017-05-09 19:17:18

标签: android android-gallery

我让用户从图库中选择一个图像,然后我在图像视图中显示它。 它适用于我的手机和nexus 5模拟器,但不适用于nexus 5x。 有什么想法吗?

case R.id.imageToUpload:
                Intent galleryIntent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
                startActivityForResult(galleryIntent, RESULT_LOAD_IMAGE);
                break;

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode == RESULT_LOAD_IMAGE && resultCode == RESULT_OK && data != null) {
        Uri selectedImage = data.getData();
        imageToUpload.setImageURI(selectedImage);
    }
}

为什么这段代码不能用于nexus 5x? (用户选择后图像不显示)

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

1 个答案:

答案 0 :(得分:-1)

这解决了我的问题:我把它添加到案例中。

        if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M) {
            if (checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE) == PackageManager.PERMISSION_DENIED) {
                String[] permissions = {Manifest.permission.READ_EXTERNAL_STORAGE};
                requestPermissions(permissions, PERMISSION_REQUEST_CODE);
            }
        }