安卓6.0 定位許可權設定(特殊)
阿新 • • 發佈:2019-02-13
安卓6.0後藍芽搜尋需要開啟定位服務,使用者第一次經常不明所以會拒絕申請,導致無法使用藍芽功能,下面分析一些特殊品牌手機的定位許可權申請。
1. 小米
(4c android7.0 miui8.2 targetSDKversion 25)
1.建議廢棄ActivityCompat.shouldShowRequestPermissionRationale
if (ActivityCompat.shouldShowRequestPermissionRationale(Activity.this,
Manifest.permission .ACCESS_COARSE_LOCATION))
這句程式碼主要是用來確認使用者是否曾經拒絕過該許可權的申請,拒絕過則返回true.
在true的情況下,我們需要人性化的在開啟許可權前用一個dialog(“請授予定位許可權的授權,避免影響藍芽搜尋功能”)來提醒使用者該許可權開啟的必要性,防止使用者不理解為什麼要反覆彈框要求授權。
注意:
如果使用者在過去拒絕了許可權請求,並在許可權請求系統對話方塊中選擇了 Don’t ask again 選項,此方法將返回 false,如果只是單純拒絕就返回true.
然而,小米的這個方法永遠會返回false,所以建議廢棄