HarmonyOS 鸿蒙Next中.NET MAUI应用在MatePad Pro上申请USB权限,系统弹窗未显示
HarmonyOS 鸿蒙Next中.NET MAUI应用在MatePad Pro上申请USB权限,系统弹窗未显示 我开发了一个.NET MAUI项目,希望此应用可以在MatePad Pro运行并能和另外一个设备(CP210x)进行USB通信。
目前现象
- 应用可以在MatePad Pro运行。
- 当USB设备插入后,接收器能触发。
- 请求USB权限时,系统弹窗未显示。 – 希望解决的问题。
程序:
- 配置文件已设置, USB权限,host功能(不考虑设备筛选)。
- 接收器已注册
string action = $"com.bth.mauiapp1.USB_PERMISSION";
var filter = new IntentFilter(action);
filter.AddAction(UsbManager.ActionUsbDeviceAttached);
filter.AddAction(UsbManager.ActionUsbDeviceDetached);
RegisterReceiver(_usbReceiver, filter);
- 申请USB权限,执行不报错 usbManager.RequestPermission(device, permissionIntent);
var permissionIntent = PendingIntent.GetBroadcast(
_context,
0,
new Intent($"com.bth.mauiapp1.USB_PERMISSION"),
PendingIntentFlags.UpdateCurrent | PendingIntentFlags.Mutable | PendingIntentFlags.OneShot);
硬件连接: USB设备(RS232转USB串口),USB插入到扩展坞(支持OTG),扩展坞连接MatePad Pro。
USB设备详细 设备:/dev/bus/usb/002/003 厂商ID: 0x10C4; 产品ID: 0xEA60 设备类:PerInterface 设备子类:PerInterface 接口数量:1
MatePad Pro
软件版本:Harmony OS 5.10;
USB调试:已开启。
Host: 支持
Android 版本:12
API级别:31
更多关于HarmonyOS 鸿蒙Next中.NET MAUI应用在MatePad Pro上申请USB权限,系统弹窗未显示的实战教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS Next中,USB权限弹窗未显示可能由几个原因导致。首先,检查配置文件中的USB权限声明是否正确,确保已包含必要的<uses-feature>和<uses-permission>标签,特别是android.hardware.usb.host和权限android.permission.USB_PERMISSION。其次,验证设备过滤条件是否匹配您的CP210x设备(厂商ID 0x10C4,产品ID 0xEA60),如果配置文件未正确定义设备,系统可能不会触发弹窗。
在代码层面,确保permissionIntent的创建使用了正确的PendingIntent标志,如PendingIntentFlags.Mutable,这在HarmonyOS Next中可能更严格。另外,检查USB设备是否通过扩展坞正确连接,并确认扩展坞支持OTG功能,因为不兼容的硬件可能导致系统无法识别设备。
最后,测试在USB设备插入时,系统日志是否有相关错误输出,这有助于诊断权限请求失败的具体原因。如果问题持续,尝试在真机上使用adb命令检查USB设备列表,确认设备被系统检测到。


