search
尋找貓咪~QQ 地點 桃園市桃園區 Taoyuan , Taoyuan

Android 6.0以上許可權處理問題

前言

谷歌在2015年8月份時候,發布了Android 6.0版本,代號叫做「棉花糖」(Marshmallow ),其中的很大的一部分變化,是在用戶許可權授權上,或許是感覺之前默認授權的不合理,現在6.0出來,使得用戶許可權授權變得合理。這可能也是參考IOS系統的,只有在用戶需要使用許可權的時候,才去授權請求,這樣做的目的是提高用戶體驗,當然,用戶感覺好了,受苦的是我們開發人員,原來的規則不適用了,現在我們去適應新的規則,畢竟是靠谷歌這顆大樹吃飯的嘛。

原來許可權模型

在Android 6.0版本之前,許可權都是一條龍服務的,只要用戶安裝完,AndroidManifest清單上申請的許可權都會被系統默認授權,並且授權后也撤銷不了。這樣的弊端在哪裡呢?有些許可權可能用戶覺得不需要,比如他不想有通知的許可權,不想受到通知的干擾,那麼他就不能屏蔽通知,就是不需要的許可權,他去不掉,自主權不在他那邊。還有一些情況是,一些惡意程序,會利用這個許可權默認授權,進行惡意獲取用戶數據和攻擊。所以Android 6.0版本,一方面讓用戶更加容易的控制自己的隱私,一方面需要重新適配應用許可權。

Android 6.0許可權模型

採用新的許可權模型,只有在需要許可權的時候,才告知用戶是否授權,是在runtime時候授權,而不是在原來安裝的時候 ,同時默認情況下每次在運行時打開頁面時候,需要先檢查是否有所需要的許可權申請。這樣的用戶的自主性提高很多,比如用戶可以給APP賦予攝像的許可權,但是可以拒絕記錄設備位置的許可權,就是怕位置信息上傳等等。

許可權流程

實現方式(以訪問sd卡許可權為例)

核心代碼塊

動態申請許可權的回調監聽

總結

  • 首先要知道6.0版本許可權模型跟原來版本是不同的,不再是統一在manifest中默認系統授權,而是有需要的時候,向系統請求授權,提高用戶體驗。
  • 了解許可權檢測流程,一點注意點是如果系統許可權彈窗提示框被不再提醒了,需要我們自定義提示彈窗,引導用戶去授權。


熱門推薦

本文由 yidianzixun 提供 原文連結

寵物協尋 相信 終究能找到回家的路
寫了7763篇文章,獲得2次喜歡
留言回覆
回覆
精彩推薦