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

本文介绍了在Android开发中获取手机权限的两种方法。一种是通过直接调用checkSelfPermission()和requestPermission()进行权限检查与申请,并在onRequestPermissionsResult()中处理结果。另一种方法是利用permissionHelper工具类进行权限申请,简化了权限管理的流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一种:

代码如下:

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工具类来进行权限申请。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值