Mac系统:Unity.app同级目录: PlaybackEngines/AndroidPlayer/Apk/
Win系统:Unity安装目录下面(如果hub安装的就有hub,非hub安装的就少hub这一层,可以桌面右键图标打开文件所在位置)C:\Program Files\Unity\Hub\Editor\2019.4.5f1\Editor\Data\PlaybackEngines\AndroidPlayer\Apk
在文件中添加需要的权限,如:
<uses-permission android:name="android.permission.CAMERA" />
在最后一行</manifest>上面加即可。(注意换项目要把权限拿去掉呀)
添加后:
<?xml version="1.0" encoding="utf-8"?>
<!-- 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>
<activity android:name="com.unity3d.player.UnityPlayerActivity"
android:theme="@style/UnityThemeSelector">
<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>
</application>
<uses-permission android:name="android.permission.CAMERA" />
</manifest>
3.这时候再去调用官方的:
Permission.RequestUserPermission("android.permission.CAMERA");
Permission.RequestUserPermission(Permission.Camera);//这两句一样
或AndroidRuntimePermissions插件的:
AndroidRuntimePermissions.RequestPermission("android.permission.CAMERA");
安卓权限分为两种,一种是普通权限,一种是涉及用户隐私的(如通讯录、相机、sd卡等)危险权限。这里总结一下Unity常用到的危险权限如下:
//android.permission.CAMERA 相机权限
//android.permission.RECORD_AUDIO 麦克风权限
//android.permission.READ_EXTERNAL_STORAGE 读储存卡,直接在设置中勾选write permission为External(SDCard)
//android.permission.WRITE_EXTERNAL_STORAGE 写储存卡,直接在设置中勾选write permission为External(SDCard)
普通权限在AndroidManifest里写都不需要用户同意的。