首页主机资讯android baseactivity如何处理权限请求

android baseactivity如何处理权限请求

时间2024-07-12 15:10:03发布访客分类主机资讯浏览527
导读:在Android中,权限请求通常通过运行时权限请求。BaseActivity可以处理权限请求的逻辑如下: 在BaseActivity中创建一个方法用于检查权限是否已经被授予: public boolean checkPermission...

在Android中,权限请求通常通过运行时权限请求。BaseActivity可以处理权限请求的逻辑如下:

  1. 在BaseActivity中创建一个方法用于检查权限是否已经被授予:
public boolean checkPermission(String permission) {
    
    return ContextCompat.checkSelfPermission(this, permission) == PackageManager.PERMISSION_GRANTED;

}

  1. 在BaseActivity中创建一个方法用于请求权限:
public void requestPermission(String permission, int requestCode) {

    ActivityCompat.requestPermissions(this, new String[]{
permission}
    , requestCode);

}

  1. 在BaseActivity中重写onRequestPermissionsResult方法,用于处理权限请求结果:
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
    
    super.onRequestPermissionsResult(requestCode, permissions, grantResults);
    
    if (grantResults.length >
     0 &
    &
 grantResults[0] == PackageManager.PERMISSION_GRANTED) {
    
        // 权限被授予
        onPermissionGranted(requestCode);

    }
 else {
    
        // 权限被拒绝
        onPermissionDenied(requestCode);

    }

}


public void onPermissionGranted(int requestCode) {

    // 处理权限被授予的逻辑
}


public void onPermissionDenied(int requestCode) {

    // 处理权限被拒绝的逻辑
}

  1. 在具体的Activity中继承BaseActivity,并在需要请求权限的地方调用上述方法:
if (!checkPermission(Manifest.permission.CAMERA)) {
    
    requestPermission(Manifest.permission.CAMERA, REQUEST_CAMERA_PERMISSION);

}
    

这样,BaseActivity可以处理权限请求的逻辑,并且具体的Activity只需要调用相应的方法即可。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: android baseactivity如何处理权限请求
本文地址: https://pptw.com/jishu/688094.html
android baseactivity在何时使用最合适 防火墙如何保护网络服务器免受攻击?

游客 回复需填写必要信息