1. 程式人生 > >6.0執行時許可權與targetSdkVersion選擇

6.0執行時許可權與targetSdkVersion選擇

targetSDKVersion

簡單來說就代表著你的App能夠適配的系統版本,意味著你的App在這個版本的手機上做了充分的 前向 相容性處理和實際測試。其實我們寫程式碼時都是經常幹這麼一件事,就是 if(Build.VERSION.SDK_INT >= 23) { ... } ,這就是相容性處理最典型的一個例子。如果你的target設定得越高,其實呼叫系統提供的API時,所得到的處理也是不一樣的,甚至有些新的API是隻有新的系統才有的

Android6.0普通許可權normal permission 和 危險許可權dangerous permission 

Normal Permission

:寫在xml檔案裡,那麼App安裝時就會預設獲得這些許可權,即使是在Android6.0系統的手機上,使用者也無法在安裝後動態取消這些normal許可權,這和以前的許可權系統是一樣的,不變。

Dangerous Permission:還是得寫在xml檔案裡,但是App安裝時具體如果執行授權分以下幾種情況:
1、targetSDKVersion < 23 & API(手機系統) < 6.0 :安裝時預設獲得許可權,且使用者無法在安裝App之後取消許可權。
3、targetSDKVersion < 23 & API(手機系統) >= 6.0 :安裝時預設獲得許可權,但是使用者可以在安裝App完成後動態取消授權( 取消時手機會彈出提醒,告訴使用者這個是為舊版手機打造的應用,讓使用者謹慎操作 )。

2、targetSDKVersion >= 23 & API(手機系統) < 6.0 :安裝時預設獲得許可權,且使用者無法在安裝App之後取消許可權。

4、targetSDKVersion >= 23 & API(手機系統) >= 6.0 :安裝時不會獲得許可權,可以在執行時向用戶申請許可權。使用者授權以後仍然可以在設定介面中取消授權,使用者主動在設定介面取消後,在app執行過程中可能會出現crash。