小公尺6 0執行時許可權填坑

2021-08-02 10:02:09 字數 1447 閱讀 7501

現象說明:在獲取定位許可權時,第一次拒絕授權,然後在應用詳情、許可權管理中開啟定位許可權,下次使用定位許可權時還是提示未授權定位許可權。

其實,小公尺對許可權管理控制在谷歌之前就考慮好了,所以有自己的許可權管理(安全中心),所以在授權是必須要安全中心、詳情中的許可權管理2個入口的許可權都是開啟狀態才能正常使用該許可權。

在第一授權時,如果使用者允許許可權,2處的許可權開關都是開啟的,可以正常使用;如果拒絕該許可權,那2處的許可權開關都是關閉的,即使開啟詳情、許可權管理中的許可權,也還不能使用,必須手動開啟安全中心中對應的許可權。

所以在使用過程中需要增加乙個邏輯,通過正常的方式檢測獲取到許可權後,需要判斷小公尺手機在安全中心許可權是否已授權,**參考:

/**

* 檢視原生態的許可權是否有授權

* *

@param

context

* @param

* @return

*/public

static

boolean

if (ismiui()) }}

return

true;}

//檢測miui

private

static

final string key_miui_version_code = "ro.miui.ui.version.code";

private

static

final string key_miui_version_name = "ro.miui.ui.version.name";

private

static

final string key_miui_internal_storage = "ro.miui.internal.storage";

//注意這個狀態最好用sharepreference儲存起來,需要每次讀取檢測

public

static

boolean

ismiui()

properties prop = new

properties();

boolean

ismiui;

try

catch

(ioexception e)

ismiui = prop.getproperty(key_miui_version_code, null) != null

|| prop.getproperty(key_miui_version_name, null) != null

|| prop.getproperty(key_miui_internal_storage, null) != null

; sputil.putstringfordefault(spconstant.is_miui, ismiui ? "1" : "2");

return

ismiui;

}

如果存在個人理解有誤的地方,望指正!

android 6 0 執行時許可權

1.執行時許可權 android6.0版本以前也就是android sdk版本小於23 android6.0和以上的版本 2.許可權的分類 普通許可權就是不會直接給使用者隱私權帶來風險。如果您的應用在其清單中列出了正常許可權,系統將自動授予該許可權。access location extra com...

Android 6 0執行時許可權管理

執行時許可權管理 定義 但是android 6.0以後android m把許可權管理做了加強處理,除了需要在manifest申明,在使用到相關功能時,有些許可權還需重新授權方可使用,所以就把這些需要重新授權方可使用的許可權稱之為執行時許可權 dangerous permission 而在manife...

Android 6 0 執行時許可權處理

android 6.0在我們原有的androidmanifest.xml宣告許可權的基礎上,又新增了執行時許可權動態檢測,以下許可權都需要在執行時判斷 身體感測器日曆攝像頭通訊錄地理位置麥克風 簡訊儲存空間 android 6.0在我們原有的androidmanifest.xml宣告許可權的基礎上,...