android 6.0 权限授权

来源:互联网 发布:周琦体侧数据 编辑:程序博客网 时间:2024/06/06 01:18

这里介绍两种方式,如下:

一、逐次

private static final int PERMISSION_READ_EXTERNAL_STORAGE = 101;
private static final int PERMISSION_WRITE_EXTERNAL_STORAGE = 102;
private static final int PERMISSION_CAMERA = 103;
private void requestPermission() {
    if (ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE)== PackageManager.PERMISSION_DENIED) {
        ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, PERMISSION_WRITE_EXTERNAL_STORAGE);
    }
    if (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE) == PackageManager.PERMISSION_DENIED) {
        ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, PERMISSION_READ_EXTERNAL_STORAGE);
    }
    if (ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA) == PackageManager.PERMISSION_DENIED) {
        ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.CAMERA}, PERMISSION_CAMERA);
    }
}


@Override
public void onRequestPermissionsResult(int requestCode, String permissions[], int []grantResults) {
    switch (requestCode) {
        case PERMISSION_CAMERA: {
            if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {


            } else {
                Toast.makeText(this, "没有摄像头权限我什么都做不了哦!", Toast.LENGTH_LONG).show();
            }
            break;
        }
        case PERMISSION_READ_EXTERNAL_STORAGE: {
            if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {


            } else {
                Toast.makeText(this, "请打开存储读写权限,确保APP正常运行", Toast.LENGTH_LONG).show();;
            }
            break;
        }
        case PERMISSION_WRITE_EXTERNAL_STORAGE: {
            if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {


            } else {
                Toast.makeText(this, "请打开存储读写权限,确保APP正常运行", Toast.LENGTH_LONG).show();;
            }
            break;
        }
    }
}


二、全部

private void requestPermission() {    List<String> permissionsNeeded = new ArrayList<String>();    if (ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE)== PackageManager.PERMISSION_DENIED) {        permissionsNeeded.add(Manifest.permission.WRITE_EXTERNAL_STORAGE);    }    if (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE) == PackageManager.PERMISSION_DENIED) {        permissionsNeeded.add(Manifest.permission.READ_EXTERNAL_STORAGE);    }    if (ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA) == PackageManager.PERMISSION_DENIED) {        permissionsNeeded.add(Manifest.permission.CAMERA);    }    if(permissionsNeeded.size()>0){        ActivityCompat.requestPermissions(this, permissionsNeeded.toArray(new String[permissionsNeeded.size()]), 1);    }}@Overridepublic void onRequestPermissionsResult(int requestCode, String permissions[], int []grantResults) {    switch (requestCode) {        case 1: {            if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {                if (grantResults.length > 0 && grantResults[1] == PackageManager.PERMISSION_GRANTED) {                    if (grantResults.length > 0 && grantResults[2] == PackageManager.PERMISSION_GRANTED) {                    } else {                        dialog();                    }                } else {                    dialog();                }            } else {                dialog();            }            break;        }    }}

0 0
原创粉丝点击