安卓6.0以上 相册读取图片 权限问题

问题背景:

今天做Intent ACTION_PICK 相册读取, 已经在AndroidManifest中添加了权限,

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

然后选取后,图片无法显示。

原因是:android6.0之后不仅需要在Mainfest里面添加权限,还需要添加运行时权限

private static final int WRITE_PERMISSION = 0x01;

@Override

protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_main);

    requestWritePermission();

}

@Override

public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {

    if(requestCode == WRITE_PERMISSION){

        if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {

            Log.d(LOG_TAG, "Write Permission Failed");

            Toast.makeText(this, "You must allow permission write external storage to your mobile device.", Toast.LENGTH_SHORT).show();

            finish();

        }

    }

}

private void requestWritePermission(){

    if(checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE)!=PackageManager.PERMISSION_GRANTED){

        ActivityCompat.requestPermissions(this,new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE},WRITE_PERMISSION);

    }

}


    原文作者:Reinelili
    原文地址: https://www.jianshu.com/p/22a2ec335a77
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞