android baseactivity如何处理权限请求

   2024-10-07 2450
核心提示:在Android中,权限请求通常通过运行时权限请求。BaseActivity可以处理权限请求的逻辑如下:在BaseActivity中创建一个方法用于检

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

在BaseActivity中创建一个方法用于检查权限是否已经被授予:
public boolean checkPermission(String permission) {    return ContextCompat.checkSelfPermission(this, permission) == PackageManager.PERMISSION_GRANTED;}
在BaseActivity中创建一个方法用于请求权限:
public void requestPermission(String permission, int requestCode) {    ActivityCompat.requestPermissions(this, new String[]{permission}, requestCode);}
在BaseActivity中重写onRequestPermissionsResult方法,用于处理权限请求结果:
@Overridepublic 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) {    // 处理权限被拒绝的逻辑}
在具体的Activity中继承BaseActivity,并在需要请求权限的地方调用上述方法:
if (!checkPermission(Manifest.permission.CAMERA)) {    requestPermission(Manifest.permission.CAMERA, REQUEST_CAMERA_PERMISSION);}

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

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式 | 网站留言    |  赣ICP备2021007278号