如何在统一构建的 Android 应用中请求权限?
Posted
技术标签:
【中文标题】如何在统一构建的 Android 应用中请求权限?【英文标题】:How to ask for permissions in a Android app built with unity? 【发布时间】:2021-06-28 10:36:01 【问题描述】:我正在 Unity Engine 中开发基于 AR 的 android 应用。但是当应用程序在移动设备上启动时,我无法请求相机权限。我已在 UnityManifest.xml 文件中包含权限,但仍未获得权限弹出窗口。每次我必须在手机上手动授予权限。
这是我的 UnityManifest.xml
<!-- GENERATED BY UNITY. REMOVE THIS COMMENT TO PREVENT OVERWRITING WHEN EXPORTING AGAIN-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.unity3d.player" xmlns:tools="http://schemas.android.com/tools">
<application android:isGame="true">
<activity android:name="com.unity3d.player.UnityPlayerActivity" android:theme="@style/UnityThemeSelector" android:screenOrientation="portrait" android:launchMode="singleTask" android:configChanges="mcc|mnc|locale|touchscreen|keyboard|keyboardHidden|navigation|orientation|screenLayout|uiMode|screenSize|smallestScreenSize|fontScale|layoutDirection|density" android:hardwareAccelerated="false">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
<category android:name="android.intent.category.LEANBACK_LAUNCHER" />
</intent-filter>
<meta-data android:name="unityplayer.UnityActivity" android:value="true" />
</activity>
<meta-data android:name="unity.arcore-enable" android:value="True" />
<meta-data android:name="unityplayer.SkipPermissionsDialog" android:value="true" />
<meta-data android:name="unity.splash-mode" android:value="0" />
<meta-data android:name="unity.splash-enable" android:value="True" />
<meta-data android:name="unity.build-id" android:value="c8f8e11e-0c30-4e36-8c0c-f779764a3099" />
</application>
<uses-feature android:glEsVersion="0x00020000" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE" />
<uses-feature android:name="android.hardware.camera" android:required="false" />
<uses-feature android:name="android.hardware.camera.autofocus" android:required="false" />
<uses-feature android:name="android.hardware.camera.front" android:required="false" />
<uses-feature android:name="android.hardware.touchscreen" android:required="false" />
<uses-feature android:name="android.hardware.touchscreen.multitouch" android:required="false" />
<uses-feature android:name="android.hardware.touchscreen.multitouch.distinct" android:required="false" />
</manifest>
【问题讨论】:
【参考方案1】:Unity 中有一个框架可以在您需要权限之前请求权限。
https://docs.unity3d.com/Manual/android-RequestingPermissions.html
【讨论】:
以上是关于如何在统一构建的 Android 应用中请求权限?的主要内容,如果未能解决你的问题,请参考以下文章
我的 Android 应用程序请求我没有要求的位置权限 [重复]