現象說明:在獲取定位許可權時,第一次拒絕授權,然後在應用詳情、許可權管理中開啟定位許可權,下次使用定位許可權時還是提示未授權定位許可權。
其實,小公尺對許可權管理控制在谷歌之前就考慮好了,所以有自己的許可權管理(安全中心),所以在授權是必須要安全中心、詳情中的許可權管理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宣告許可權的基礎上,...