如何在MAUI Android和Windows中集成Zoom SDK及权限问题排查
问题:MAUI集成Zoom SDK Android端崩溃(权限错误)
我正尝试在MAUI中为Android和Windows平台集成Zoom SDK,因未找到MAUI相关代码参考,遂采用Xamarin教程进行Android端集成。但集成后点击加入会议时应用崩溃,报错:
[ame.zoomsdkpro] java_vm_ext.cc:579] JNI DETECTED ERROR IN APPLICATION: JNI CallIntMethodV called with pending exception java.lang.SecurityException: getCallState: Neither user 10154 nor current process has android.permission.READ_PHONE_STATE
我的Manifest配置如下:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"> <application android:allowBackup="true" android:icon="@mipmap/appicon" android:roundIcon="@mipmap/appicon_round" android:supportsRtl="true"></application> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.RECORD_AUDIO" /> <uses-permission android:name="android.permission.CAMERA" /> <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /> <uses-permission android:name="android.permission.READ_PHONE_STATE"/> <uses-permission android:name="android.Manifest.permission.READ_PHONE_STATE" /> </manifest>
解决方案
- 清理错误的权限声明:Manifest中重复添加了
READ_PHONE_STATE权限,其中android.Manifest.permission.READ_PHONE_STATE是错误写法,正确格式为android.permission.READ_PHONE_STATE,请删除这条错误的声明。 - 动态申请危险权限:
READ_PHONE_STATE属于Android危险权限,仅在Manifest声明无法生效,需要在代码中主动向用户申请。在MAUI中可通过以下代码请求权限,确保调用Zoom加入会议接口前权限已被授予:var status = await Permissions.RequestAsync<Permissions.Phone>(); if (status != PermissionStatus.Granted) { // 处理权限未授予的情况,比如提示用户开启权限 return; } - 适配SDK版本:确认使用的Zoom SDK版本兼容当前MAUI的Android目标版本,建议使用Zoom官方最新的适配Xamarin/MAUI的SDK包,避免版本不兼容导致的权限处理问题。
内容的提问来源于stack exchange,提问作者Abhishek Mor
相关产品推荐
相关产品推荐

