一.Android 權(quán)限分為三大類
1.普通權(quán)限
普通權(quán)限就是不影響用戶隱私的權(quán)限,直接在配置清單文件中配置就行,不用去動態(tài)申請。
介紹一些重要的普通權(quán)限
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES"/>
Android8.0未知來源應(yīng)用安裝權(quán)限8.0以上google把未知應(yīng)用的安裝權(quán)限的管理放到了每個app上,每個app都有允許安裝未知應(yīng)用的設(shè)置開關(guān)。此權(quán)限用于APP更新功能上,當(dāng)新版本APK下載后我們先要判斷APP是否開啟了此權(quán)限,如果開啟了直接執(zhí)行安裝APK,如果沒有開啟就打開設(shè)置界面去開啟此權(quán)限,然后返回APP去安裝新版本的APK。
2.危險權(quán)限
危險權(quán)限和用戶的隱私有關(guān),從Android6.0開始就需要開發(fā)者去動態(tài)申請了。

危險權(quán)限.png
危險權(quán)限需要做適配,最好找一個成熟的權(quán)限框架做。

主流的權(quán)限庫比較.png
根據(jù)綜合篩選我選擇了PermissionsDispatcher
3..特殊權(quán)限
特殊權(quán)限主要有通知欄、自啟動、懸浮窗等
二.開啟權(quán)限的時機
用戶觸發(fā):當(dāng)APP某一個功能需要用的的權(quán)限,比如錄音權(quán)限和拍照權(quán)限,并不影響APP基本功能的使用,這類似的權(quán)限應(yīng)該針對功能使用再去申請。
應(yīng)用啟動時:一些影響APP基礎(chǔ)功能的權(quán)限就應(yīng)該在應(yīng)用啟動的時候去申請,比如存儲權(quán)限和定位權(quán)限。