Android获取手机权限的两种方式

第一种:

代码如下:

if(ContextCompat.checkSelfPermission(MainActivity.this,Manifest.permission.WRITE_EXTERNAL_STORAGE)
!=PackageManager.PERMISSION_GRANTED){
    Acitvitycompat.requestPermission(MainActivity.this,new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE},1);
}


@Override
public void onRequestPermissionRequest(int requestCode,String[]permissions,int[] grantResults){
    switch(requestCode){
        case 1:
            if(grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED){
                //逻辑代码
            }
            else{
                Toast.makeText(this,"请求权限失败",Toast.LENGTH_SHORT).show();
            }
            break;
    }
}

首先调用checkSelfPermission()方法检查是否获取了该权限,如果没有就调用requestPermission()方法申请该权限。之后会回调到onRequestPermissionRequest()方法判断权限是否申请成功。

第二种:

首先导入:

implementation 'com.master.android:permissionhelper:1.3'

代码如下:

permissionHelper = new PermissionHelper(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 100);
permissionHelper.request(new PermissionHelper.PermissionCallback() {
     @Override
     public void onPermissionGranted() {
           //逻辑代码
     }

     @Override
     public void onIndividualPermissionGranted(String[] grantedPermission) {
              
     }

     @Override
     public void onPermissionDenied() {
                
     }

     @Override
     public void onPermissionDeniedBySystem() {
                
     }
});

第二种方法通过permissionHelper工具类来进行权限申请。

你可能感兴趣的:(Android基础知识)