91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

android baseactivity如何處理權限請求

小樊
86
2024-07-12 11:22:36
欄目: 編程語言

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

0
金寨县| 隆子县| 年辖:市辖区| 长汀县| 青田县| 三门县| 彰武县| 闻喜县| 越西县| 南乐县| 洛南县| 平舆县| 长白| 西和县| 永吉县| 兰坪| 仙桃市| 苗栗市| 平阳县| 宣威市| 绥中县| 招远市| 嘉祥县| 开阳县| 松潘县| 五家渠市| 木兰县| 潍坊市| 旌德县| 平顶山市| 壤塘县| 上高县| 浦东新区| 左云县| 阿克陶县| 江津市| 太和县| 平塘县| 会昌县| 南和县| 宜良县|