为什么 unityplayer.SkipPermissionsDialog 不能使用 unity 2018.3.14?
Why unityplayer.SkipPermissionsDialog not working with unity 2018.3.14?
我正在使用 unity 和 vuforia 开发应用程序,我使用
<meta-data android:name=“unityplayer.SkipPermissionsDialog” android:value=“true”>
在 Manifest.xml 中跳过 startup.My 应用程序导出 (apk) 在 unity 5.1.1 中工作正常但在 untiy 2018.3 中不工作。14.I 将创建另一个项目与统一 2018.3.14 并编辑 manifest.xml 上面的线,但它仍然在启动时要求相机许可。
这是我的manifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
package="com.unity3d.player"
xmlns:tools="http://schemas.android.com/tools"
android:installLocation="preferExternal">
<supports-screens
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:xlargeScreens="true"
android:anyDensity="true"/>
<uses-sdk android:minSdkVersion="21" android:targetSdkVersion="26" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<application
android:theme="@style/UnityThemeSelector"
android:icon="@mipmap/app_icon"
android:label="@string/app_name">
<activity android:name="com.unity3d.player.UnityPlayerActivity"
android:label="@string/app_name"
android:hardwareAccelerated="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<meta-data android:name="unityplayer.UnityActivity" android:value="true" />
</activity>
<!-- For Runtime Permission -->
<meta-data android:name="unityplayer.SkipPermissionsDialog" android:value="true" />
<activity android:name="com.onevcat.uniwebview.UniWebViewFileChooserActivity" />
</application>
</manifest>
有什么帮助吗?
初猜
如果你设置unityplayer.SkipPermissionsDialog
,Unity将不再在应用程序启动后直接请求权限。
但 Vuforia 会在启用 AR 相机时动态请求运行时权限。
我猜你在第一个场景中使用的是 AR 相机?
更新 1
尝试在 activity 标签内的 AndroidManifest.xml 中移动 unityplayer.SkipPermissionsDialog
而不是应用程序标签。
所以,我尝试另一种方法来解决问题。
1-选中延迟初始化框(Window->Vuforia 配置)。
2- 正常使用 <meta-data android:name=“unityplayer.SkipPermissionsDialog” android:value=“true”>
并在需要时请求权限。
3- 将这行代码添加到这个新脚本的 Start() 函数并将其分配给空游戏对象:
VuforiaRuntime.Instance.InitVuforia();
4- 所以,当用户允许时,我加载第二个场景,它 运行 Vuforia 初始化。
我正在使用 unity 和 vuforia 开发应用程序,我使用
<meta-data android:name=“unityplayer.SkipPermissionsDialog” android:value=“true”>
在 Manifest.xml 中跳过 startup.My 应用程序导出 (apk) 在 unity 5.1.1 中工作正常但在 untiy 2018.3 中不工作。14.I 将创建另一个项目与统一 2018.3.14 并编辑 manifest.xml 上面的线,但它仍然在启动时要求相机许可。
这是我的manifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
package="com.unity3d.player"
xmlns:tools="http://schemas.android.com/tools"
android:installLocation="preferExternal">
<supports-screens
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:xlargeScreens="true"
android:anyDensity="true"/>
<uses-sdk android:minSdkVersion="21" android:targetSdkVersion="26" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<application
android:theme="@style/UnityThemeSelector"
android:icon="@mipmap/app_icon"
android:label="@string/app_name">
<activity android:name="com.unity3d.player.UnityPlayerActivity"
android:label="@string/app_name"
android:hardwareAccelerated="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<meta-data android:name="unityplayer.UnityActivity" android:value="true" />
</activity>
<!-- For Runtime Permission -->
<meta-data android:name="unityplayer.SkipPermissionsDialog" android:value="true" />
<activity android:name="com.onevcat.uniwebview.UniWebViewFileChooserActivity" />
</application>
</manifest>
有什么帮助吗?
初猜
如果你设置unityplayer.SkipPermissionsDialog
,Unity将不再在应用程序启动后直接请求权限。
但 Vuforia 会在启用 AR 相机时动态请求运行时权限。 我猜你在第一个场景中使用的是 AR 相机?
更新 1
尝试在 activity 标签内的 AndroidManifest.xml 中移动 unityplayer.SkipPermissionsDialog
而不是应用程序标签。
所以,我尝试另一种方法来解决问题。
1-选中延迟初始化框(Window->Vuforia 配置)。
2- 正常使用 <meta-data android:name=“unityplayer.SkipPermissionsDialog” android:value=“true”>
并在需要时请求权限。
3- 将这行代码添加到这个新脚本的 Start() 函数并将其分配给空游戏对象:
VuforiaRuntime.Instance.InitVuforia();
4- 所以,当用户允许时,我加载第二个场景,它 运行 Vuforia 初始化。