關(guān)于Android權(quán)限的獲取問題,大家遇到過這樣的情況嘛?
問題描述
大家都知道, 在api23 google加入了動態(tài)權(quán)限系統(tǒng),如果我們手機(jī)的系統(tǒng)版本大于22以及應(yīng)用的target version大于22時,某些權(quán)限必須通過動態(tài)申請的方式獲取。
反之,無論是手機(jī)版本還是應(yīng)用的target version低于23,都將在安裝時列出需要的權(quán)限,如果確定安裝則會授予應(yīng)用在manifest中申請的所有權(quán)限。
見 Google 對于動態(tài)獲取權(quán)限的描述
但最近在公司的一個項(xiàng)目上出現(xiàn)了這樣的問題:
我手機(jī)是AndroidN,項(xiàng)目target version22,安裝后卻依舊會動態(tài)彈出授權(quán)窗口,因?yàn)轫?xiàng)目未做動態(tài)權(quán)限適配,如果用戶授權(quán)還好,如果拒絕有些時候就會崩潰掉。如圖:
我的手機(jī)是一加3,暫時手頭也沒有別的機(jī)器,所以也不好確定是rom的問題還是其他的什么,所以想問問大家是否也遇到過這樣的情況?
問題解答
回答1:就是國產(chǎn)手機(jī)的修改的,自己會有權(quán)限管理,基本上國產(chǎn)手機(jī)都有,所以最好的是直接用23,直接去處理,要不然就只能針對對象和空值進(jìn)行判斷來控制了。
回答2:可能是一加3自己適配了權(quán)限這部分,華為魅族等都有自己處理這些權(quán)限請求。之前我也遇到一個頭疼的問題,在魅族手機(jī)上使用相機(jī),如果用戶拒絕的話,Camera對象還是可以正常拿到且不為空,也不報(bào)錯。只是魅族默默地給你調(diào)用了release,真是坑啊
回答3:貌似這個定制的廠商在更新rom的時候總是習(xí)慣給舊的版本添加一些“新的特性”.
