從應用程序我給了我的應用程序所需的權限。在我的應用程序正在運行時,我進入系統設置頁面並取消了權限。該應用程序崩潰。我們能夠處理這個問題嗎?Android處理權限從系統設置中禁用
回答
Android 6.0(Marshmallow,API 23)從安裝時權限模型切換到運行時權限模型。現在,不是用戶在運行時授予所有權限,而是開發者負責在運行時請求權限並進行適當的響應。
您應該先閱讀Requesting Permissions at Run Time文檔。這樣您就可以在運行棉花糖的設備上正確請求權限。
爲了防止您的應用程序崩潰,您需要致電ContextCompat.checkSelfPermission()
以查看在嘗試調用需要許可的方法之前是否有權限。但是,這只是等式的一半,因爲如果您尚未擁有該權限,您仍然需要請求權限。
感謝您的回覆。無論你在解釋什麼是「如何處理運行時間許可」。我的問題是,用戶授予權限,我正在訪問資源。現在用戶可以通過進入系統設置頁面來撤消此權限。在這種情況下,應用程序崩潰了,你能否以一種優雅的方式提出處理這種情況的方法? – SivaShankar
您的問題具體說明「然後我進入系統設置頁面並取消了權限。」如果用戶已授予許可權並且您仍然遇到崩潰,則需要使用正確的詳細信息更新您的問題或發佈新問題。無論哪種方式,您都應該包含顯示在logcat中的Exception。 –
- 1. Android系統根權限權限
- 2. 設置文件系統權限
- 3. 在OnCreate之前設置系統權限
- 4. 分配權限系統設置文件
- 5. Android M:系統權限與WebView位置權限
- 6. 系統權限
- 7. 權限系統
- 8. Android系統應用程序權限
- 9. 從java中禁用系統代理
- 10. PHP權限系統
- 11. 權限寫/系統
- 12. 系統調用open()權限
- 13. 處理點擊android系統
- 14. 腓在Ubuntu系統中設置文件權限OrangeHrm
- 15. Android:如何獲得系統權限officialy
- 16. Android系統需要root權限嗎?
- 17. Android M權限系統:識別需求
- 18. 新的權限系統(位置整合)
- 19. 從Windows批處理文件設置系統環境變量?
- 20. 設置系統代理
- 21. 我的收到的SMS處理Receiver需要從系統獲得什麼權限?
- 22. 在C#中設置管理權限
- 23. 禁用微調android系統
- 24. Android禁用系統欄
- 25. 禁用系統欄Android 4.0
- 26. 在CRAMFS文件系統上設置權限
- 27. Air for Android - 系統設置
- 28. 設置了Android系統卷
- 29. Android SDK:系統設置
- 30. Sharepoint文件系統權限
在關閉設置頁面的權限時,Android系統會殺死相應的進程並重新創建應用程序。因此無法處理。 – SivaShankar