Android 檢測權限的三種寫法

權限檢測生效條件:
  • targetSdkVersion 以及 compileSdkVersion 升級到 23 及以上
  • 運行 Android 系統 6.0 及以上
三種檢測權限寫法:
    public static boolean checkPermission1(Context context, String[] permissions) {
        PackageManager packageManager = context.getPackageManager();
        String packageName = context.getPackageName();

        for (String permission : permissions) {
            int per = packageManager.checkPermission(permission, packageName);
            if (PackageManager.PERMISSION_DENIED == per) {
                Log.w(TAG, "required permission not granted . permission = " + permission);
                return false;
            }
        }
        return true;
    }

    public static boolean checkPermission2(Context context, String[] permissions) {

        for (String permission : permissions) {
            int per =context.checkPermission(permission, Process.myPid(),Process.myUid());
            if (PackageManager.PERMISSION_GRANTED != per) {
                Log.w(TAG, "required permission not granted . permission = " + permission);
                return false;
            }
        }
        return true;
    }

    public static boolean checkPermission3(Context context, String[] permissions) {

        for (String permission : permissions) {
            int per = ContextCompat.checkSelfPermission(context, Manifest.permission.CAMERA);
            if (PackageManager.PERMISSION_GRANTED != per) {
                Log.w(TAG, "required permission not granted . permission = " + permission);
                return false;
            }
        }
        return true;
    }

推薦閱讀:
Unity 下集成第三方原生 SDK,以極光廠商通道為例
如何修改 Android 編譯 Java 源文件的 JDK 版本 原生和 Cordova 為例
谷歌將對歐洲 Android 設備制造商收取其應用服務費用

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容