相关疑难解决方法(0)

绕过android usb主机权限确认对话框

我想在工业中使用android,

我可以使用slickdevlabs.com库连接到Profilic和Ftdi USB转串口芯片,没有任何问题.

应用程序有一个服务,它在启动时启动,连接到USB串口并执行其他操作.

我的问题是主机设备没有与用户进行任何交互,

所以当android问

Allow the app "MyAPP" to access the USB device ?
[checkmark]Use by default for this USB device
Cancel            OK
Run Code Online (Sandbox Code Playgroud)

没有人点击确定.

即使我默认检查使用...复选框,如果我重新插入USB,或重新启动主机设备,它会在下次启动时再次询问.

我使用SuperUser模式运行服务和应用程序,但没有区别,它再次询问.

我添加了意图过滤但没有区别,它每次都会问我.

        <intent-filter>
            <action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" />
            <action android:name="android.hardware.usb.action.USB_DEVICE_DETACHED" />
        </intent-filter>

        <meta-data
            android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED"
            android:resource="@xml/device_filter" />
        <meta-data
            android:name="android.hardware.usb.action.USB_DEVICE_DETACHED"
            android:resource="@xml/device_filter" />
Run Code Online (Sandbox Code Playgroud)

任何意见如何绕过或禁用它?

我有root和SU访问权限.

permissions usb android usbserial root

31
推荐指数
5
解决办法
4万
查看次数

授予USB权限作为设备所有者

设备所有者可以授予运行时权限使用给第三方应用DevicePolicyManager.setPermissionGrantState() ,以避免用户提示。

但是,设备所有者也可以通过任何方式授予USB权限,以使该应用无需用户提示即可访问插入的USB设备吗?

我也尝试调用UsbManager.grantPermission()(反射),但是它引发了一个,SecurityException因为它需要MANAGE_USB仅授予系统应用程序(显然不授予设备所有者)的权限。

注意:我正在寻找在非root用户和非自定义Android系统上运行的解决方案,设备所有者应用是使用Android Enterprise设置方法设置的

android android-usb android-enterprise android-management-api

9
推荐指数
1
解决办法
486
查看次数