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

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android開發 - 更"聰明"的申請權限方式

發布時間:2020-10-03 11:19:00 來源:網絡 閱讀:694 作者:羅伊德666 欄目:移動開發

在Android6.0以后,很多權限需要動態申請,只有在用戶點同意后,我們才能使用對應API,因此,正確申請權限就顯得很重要。

常用方式

通常我們使用這種方式來判斷權限狀態:

private static boolean isGranted(final String permission) {
    return Build.VERSION.SDK_INT < Build.VERSION_CODES.M
            || PackageManager.PERMISSION_GRANTED
            == ContextCompat.checkSelfPermission(Utils.getApp(), permission);
}

但是用這種方式我們會碰到一個比較棘手的情況,當用戶同意了某個權限后,然后用戶又在手機的系統設置的應用權限中關閉了這個權限,此時我們并不能正確獲取到正確的權限狀態。

解決辦法

有可能Android團隊意識到了這個問題,所以他們發布了一個新的權限檢查類:android.support.v4.content.PermissionChecker;

用這個類進行權限的檢查就會正確返回,所以我們把權限校驗的方法修改如下:

import android.support.v4.content.PermissionChecker;

private static boolean isGranted(final String permission) {
    return Build.VERSION.SDK_INT < Build.VERSION_CODES.M
            || PackageManager.PERMISSION_GRANTED
            == PermissionChecker.checkCallingOrSelfPermission(Utils.getApp(), permission);
}

這樣就會解決手機設置與用戶授權不一致的問題。

本文原始地址,如有更多疑問,請參考我的其它Android相關博客:我的博客地址

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

阿图什市| 通城县| 无极县| 竹山县| 曲阳县| 乌苏市| 六枝特区| 嘉荫县| 澎湖县| 平南县| 台北县| 红安县| 吉木萨尔县| 张掖市| 淮滨县| 万宁市| 大石桥市| 宣恩县| 股票| 湘西| 新晃| 西藏| 赤峰市| 镇赉县| 丰城市| 阿城市| 汾阳市| 青铜峡市| 南昌市| 万荣县| 虎林市| 吴忠市| 合川市| 山西省| 舞钢市| 昌平区| 昭平县| 西和县| 绩溪县| 广昌县| 泸西县|