系统版本 Android9
主板平台 mt6771
智能互联APP版本 2401041
问题现象
淘宝购买的轻盒无线carplay usb盒子插入五菱车机上不弹出 usb 权限申请框,自己写了个测试 demo 安装发现也没有弹框
猜测应该是系统本身把权限申请框界面给直接干掉了,或者直接拒绝了权限申请
就是没有下面这个权限框
解决办法
既然系统把权限申请框给干掉了,那么我们只能自己来给它授权了。分析了 usb 权限申请流程后,那就好办了。
直接调用 UsbManager 获取插入盒子的 vid 和 pid,然后获取到 UsbDevice 设备,再调用 grantDevicePermission(mDevice, mUid); 直接给权限就完事了
为了避免每次插拔都要进行权限申请,直接再调用一手 setDevicePackage(mDevice, mPackageName, userId); 将智能互联app包名写到 usb_device_manager.xml 中
这样每次插入盒子默认就都有权限了
破解步骤
1、先卸载车机上已经安装智能互联app
2、安装 UsbSettings.apk,再安装智能互联app(安装完成后都先不要打开!!!)
3、把盒子插入到车机USB上
4、打开 UsbSettings,看界面是不是有下面三个提示
uid=xxx
grantDevicePermission done
always done
5、如果上面三个提示都出现,打开智能互联app,这时候肯定就能正常用了