中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

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
永兴县| 白玉县| 黄平县| 花垣县| 丰都县| 夏邑县| 双辽市| 闻喜县| 江油市| 昌图县| 泽普县| 上高县| 景泰县| 沈丘县| 贡山| 安远县| 那曲县| 广平县| 射阳县| 柯坪县| 曲阳县| 肥东县| 庆安县| 长子县| 翼城县| 高邑县| 潼关县| 岳阳市| 开封县| 唐海县| 洛川县| 巴南区| 石狮市| 包头市| 昌宁县| 太湖县| 四川省| 长子县| 万载县| 陆良县| 阳高县|