1. 程式人生 > >安卓6.0 定位許可權設定(特殊)

安卓6.0 定位許可權設定(特殊)

安卓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,所以建議廢棄