2015-09-18 29 views
6

是否有一種簡單的方法來識別Android應用程序需要調整以使用Android M(6,API 23)中的運行時權限的所有API調用?遷移到運行時權限:如何查找當前所有權限使用情況?

看來您只需通過測試,試用&錯誤或專業知識(例如:傾注API文檔和源代碼)來弄清楚它。我預計谷歌會發佈一個遷移工具,但我還沒有看到任何證據。 這樣看起來好像會離開你的應用程序脆弱的,如果任何人禁止訪問權限安裝後的運行時崩潰,即使你是不是在你的清單使用運行時許可標籤。

什麼是遷移到運行權限的最佳做法是什麼?

+1

「?什麼是遷移到運行權限的最佳做法」 - 戰術上堅持22或更低的「targetSdkVersion」。你的應用程序將會正常運行。如果用戶進入並禁用了某些權限,則應該從所有受影響的API調用中取回有效的結果,而沒有太多結果(例如,查詢「ContactsContract」的行爲就好像用戶沒有聯繫人一樣無論運行時權限如何,完全有效的狀態) – CommonsWare

+0

如果您從清單中刪除所有權限,我認爲lint會標記所有需要權限的調用...? –

+0

@ krislarson我一直沒有能夠得到那個工作。你能否證實linter爲你做了這件事,或者指出我們的例子? (沒有給出Camera.open()的警告,例如,即使沒有聲明權限。) – rcreswick

回答