最近公司的遊戲在作安全性測試,期間也暴露出了很多安全上的問題。雖然咱們今天要說的權限申請和安全性相關不大,可是也會影響到遊戲的使用體驗等,因此本篇博客中馬三就想和你們談談Android6.0以上版本中的動態權限申請的一些事情。html
對於很多Unity程序員來講,可能沒有太多接觸過Android或者iOS的相關開發,因此首先讓咱們先來了解一些關於Android動態權限申請的一些知識點。android
Google在 Android 6.0 開始引入了權限申請機制,將全部權限分紅了正常權限和危險權限。應用的相關功能每次在使用危險權限時須要動態的申請並獲得用戶的受權才能使用。程序員
系統權限分爲兩類:正常權限和危險權限。安全
下面馬三把危險權限進行了羅列,權限是分組的,同一組的權限申請其中一個,同組的權限就所有都申請了。微信
特殊權限組: 網絡
那麼在Unity開發中,咱們又該如何處理Android的動態權限申請呢?對於那些須要動態申請的權限,咱們依然還須要在AndroidManifest裏面再作聲明。Android 這邊在 target 23 以上時會啓用權限檢查,默認不給敏感權限,好比存儲、語音等,須要 app 本身去申請,但這個的前提是你在 AndroidManifest 中生明瞭這個權限, 不然會申請失敗,甚至致使崩潰。而這個動態權限的目的其實就是在於APP啓動或者是須要某些權限的時候至關於加了一個二次確認的做用。好比咱們須要讀寫SD卡權限,這個權限在Android6.0以上會在程序啓動之後動態的申請,可是咱們依然仍是須要在Manifest中進行以下的聲明才能夠:app
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<meta-data android:name="unityplayer.SkipPermissionsDialog" android:value="true" />
這個聲明能夠寫在<application>或者<activity> Tag之間,建議寫在<application> Tag之間比較好。post
在咱們使用到Unity一些須要受權的API調用時候(好比獲取網絡狀態或者使用 Microphone Class),Unity會自動地去申請這些權限,毋須咱們額外地多寫Android相關的代碼。若是你想了解如何在Android層面中手動地進行一些動態權限申請,推薦去看一下 wuzhang 的這篇《Unity如何管理住Android 6.0 調皮的權限》博客。測試
在本篇博客中,馬三和你們一塊兒瞭解了Android6.0以上動態權限申請的一些概念以及如何在Unity中進行配置的操做,配置很簡單,就一行代碼的事情,但願能夠幫到你們~url
若是以爲本篇博客對您有幫助,能夠掃碼小小地鼓勵下馬三,馬三會寫出更多的好文章,支持微信和支付寶喲!
做者:馬三小夥兒
出處:http://www.javashuo.com/article/p-nqweuawa-gq.html 請尊重別人的勞動成果,讓分享成爲一種美德,歡迎轉載。另外,文章在表述和代碼方面若有不妥之處,歡迎批評指正。留下你的腳印,歡迎評論!