在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只需要调用相应的方法即可。