AndroidManifest.xml文件中需要在Application节点内加入下边这行,目的是关闭权限申请弹窗
<meta-data android:name="unityplayer.SkipPermissionsDialog" android:value="true" />
manifest文件中还需要加入你需要获取的权限(如果不加入,无法动态获取)
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
AndroidStudio中加入,在需要动态获取权限的地方调用aar中的该方法(比如我就是在发送语音的时候调用的)
public void GetAudioLimit()
{
Log.i("<Limit>GetAudioLimit", Build.MODEL);
int REQUEST_CODE_CONTACT = 101;
String[] permissions = new String[]{Manifest.permission.MODIFY_AUDIO_SETTINGS,
Manifest.permission.RECORD_AUDIO};
//验证是否许可权限
for (String str : permissions) {
if (this.checkSelfPermission(str) != PackageManager.PERMISSION_GRANTED) {
//申请权限
this.requestPermissions(permissions, REQUEST_CODE_CONTACT);
}
}
}
如果需要在获取权限后做操作,AndroidStudio中加入如下代码:
//安卓的权限回调,申请权限后系统会自动调用
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
Log.i("PermissionsResult:","RequestCode:"+requestCode);
Log.i("PermissionsResult:","Permissions.Length:"+permissions.length);
Log.i("PermissionsResult:","GrantResult.Length:"+grantResults.length);
for(int grant:grantResults) {
if (grant == PackageManager.PERMISSION_DENIED) {
break;
}
}
}
这样就可以获取玩家是否允许了权限
4400



被折叠的 条评论
为什么被折叠?



