Unity Android 權限

Android權限 
權限是一種限制,用於限制對部分代碼或設備上數據的訪問。施加限制是爲了保護可能被誤用以致破壞或損害用戶體驗的關鍵數據和代碼。每種權限均由一個唯一的標籤標識。標籤通常指示受限制的操作。 
如果應用需要訪問受權限保護的功能,則必須在清單中使用 元素聲明應用需要該權限。將應用安裝到設備上之後,安裝程序會通過檢查簽署應用證書的頒發機構並(在某些情況下)詢問用戶,確定是否授予請求的權限。如果授予權限,則應用能夠使用受保護的功能。否則,其訪問這些功能的嘗試將會失敗,並且不會向用戶發送任何通知。 
參考https://developer.android.com/guide/topics/manifest/manifest-intro.html#perms 
Unity 權限 
Android的權限配置於AndroidManifest.xml中 
Unity會自動生成一些權限(Unity生成一個AndroidManifest.xml),然後找到插件(AAR和Android Libraries)的所有Android Manifest。合併到unity生成的xml中。這些都是Unity自動完成的。即使你指定了一份AndroidManifest.xml,Unity仍然會修改或加入一些Unity工程中所需的權限。如要完全修改可以導出Android工程進行修改,生成APK。 
Unity根據您的應用程序從腳本調用的設置和Unity API,自動添加必要的權限到清單。

例如: 
網絡類添加INTERNET權限(例如在player setting中Internet Access選爲require,這時即使你沒有網絡訪問,unity仍會添加Internet權限) 
使用振動(如Handheld.Vibrate)增加VIBRATE 
判斷網絡狀態InternetReachability增加ACCESS_NETWORK_STATE 
位置API(如LocationService)會添加ACCESS_FINE_LOCATION 
WebCamTexture API添加CAMERA權限 
啓用麥克風增加RECORD_AUDIO 
PlayerSetting 中WriteAccess 設置爲 Exxternal(SDCard),會添加相應權限 
APK在Android6.0設備上運行( Android API大於等於23),則應用程序將使用Android 運行時權限系統。 
Android運行時權限系統要求應用程序在運行時授予權限,而不是首次安裝時就獲取權限。當應用程序運行時,應用程序用戶通常可以授予或拒絕每個權限(例如,在拍攝照片之前請求攝像機許可)。這允許應用程序在沒有權限的情況下運行有限的功能。 
Unity不支持運行時權限系統,所以您的應用程序提示用戶允許Android在啓動時稱爲“危險”權限。有關更多信息,請參閱Android關於危險權限的文檔。 
提示用戶允許危險的權限是確保在缺少權限時不會導致崩潰的唯一方法。但是,如果你不想讓程序運行開始就彈出這些權限的窗口,可以在AndroidManifest中添加 

有關運行時權限系統和處理權限的更多信息,請參閱Android開發人員文檔的請求權限部分。 
手動修改Unity AndroidManifest的方法 
要使用Unity之外創建的Android清單,請將自定義的Android Manifest文件導入到以下位置:Assets / Plugins / Android / AndroidManifest.xml。這將覆蓋默認的Unity創建的清單。 
在這種情況下,Android Libraries的清單隨後會被合併到這份清單中,並且所生成的清單仍然被Unity調整,以確保配置正確。要完全控制清單,包括權限,您需要導出項目並修改Android Studio中的最終清單。 

Android權限:https://blog.csdn.net/YongshuangZhao/article/details/102875466

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章