2016-04-20 56 views
1

我們的Unity應用程序不使用任何類型的位置服務,但是它在AndroidManifest.xml中部署。由於我們的目標sdk版本設置爲23,它要求在運行時的權限,我們不需要特別的位置GPS權限,因爲我們不使用它,但我相信Unity增加了,因爲也許我們使用的某個第三方庫可能是引用它,但我不知道爲什麼它被添加到清單xml。想發表意見如下行從清單代碼,但不工作,它仍然拋出一個運行時允許提示如何在android Unity應用程序中禁用android運行時位置權限提示

> <!-- <uses-permission 
> android:name="android.permission.ACCESS_COARSE_LOCATION" /> --> 

如果我設定的目標SDK,以22(切換回舊的權限模型在安裝時),它拋出編譯錯誤,因爲它說Android SDK工具是當前使用的SDK版本23.

我知道我們可以從設置菜單撤銷權限,但並沒有解決我們的問題

是否有在編譯期間以任何方式在運行時撤銷ACCESS_COARSE_LOCATION或ACCESS_FINE_LOCATION權限提示的方式?

回答

2

SDK版本23 = Android M。 Android M在運行時檢查權限而不是安裝時間。我知道得到這個的唯一方法是獲得訪問源代碼並評論/刪除任何獲取設備位置的代碼。

首先,找出插件是由要求允許移除項目中的所有插件和一個把他們回來,一個。如果您發現插件存在位置問題,請向插件提供商索取源代碼

如果不能得到源代碼,可以反編譯罐子或AAR文件,並刪除代碼,它包含位置/ GPS代碼的部分,然後重新編譯回罐子或aar文件。