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。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章