亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

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
衡阳县| 长葛市| 甘肃省| 祥云县| 昭觉县| 津市市| 灵寿县| 嘉义市| 县级市| 正宁县| 克东县| 昂仁县| 怀仁县| 葵青区| 东乌珠穆沁旗| 长武县| 山东省| 阿勒泰市| 齐齐哈尔市| 饶平县| 墨脱县| 比如县| 虹口区| 汪清县| 武义县| 通化市| 安泽县| 天镇县| 策勒县| 山丹县| 云浮市| 日照市| 关岭| 汕尾市| 星子县| 皮山县| 淅川县| 海伦市| 油尖旺区| 石狮市| 武胜县|