android權(quán)限被第三方安全軟件禁止,如何獲取該權(quán)限狀態(tài)
問題描述
華為手機(jī)里有個(gè)自帶手機(jī)管家 可以對(duì)應(yīng)用設(shè)置權(quán)限
如圖 使用 android6.0 的權(quán)限檢測(cè),只有在撥打電話與讀取本機(jī)識(shí)別碼(同一個(gè)權(quán)限組)都禁止的時(shí)候,才會(huì)檢測(cè)到權(quán)限禁止。一個(gè)禁止一個(gè)允許的檢測(cè)到撥打電話的狀態(tài)是擁有該權(quán)限。如何獲取到撥打電話權(quán)限狀態(tài)。
問題解答
回答1:應(yīng)用內(nèi)打電話可能涉及到一些安全問題,所以6.0里面,電話的權(quán)限是dangerous,需要主動(dòng)申請(qǐng)的,我們項(xiàng)目的解決方案是調(diào)用系統(tǒng)的打電話,把號(hào)碼帶過去,這樣一定不會(huì)出現(xiàn)權(quán)限問題
回答2:Android有個(gè)方法可以檢查當(dāng)前有沒有哪個(gè)權(quán)限,但是要用try catch包起來,如果沒有你想要的權(quán)限就會(huì)報(bào)異常。如果要獲取是沒有辦法的,只能檢查,然后通知用戶去設(shè)置里面設(shè)置。具體的明天上代碼。。。。
回答3:這個(gè)沒辦法的
回答4:現(xiàn)在也遇到了,系統(tǒng)授予了權(quán)限,但是華為自帶的安全軟件禁用了權(quán)限;然后撥打電話的時(shí)候就提示:
`this app not allowed to StartActivity:Intent { act=android.intent.action.CALL dat=tel:xxxxx }`
檢測(cè)系統(tǒng)權(quán)限的時(shí)候已經(jīng)獲得了權(quán)限,所以不能有相關(guān)的提示。話說你現(xiàn)在解決了嗎?
