Android USB 主机。如何在不显示对话框的情况下获得使用 USB 设备的权限?

Android USB Host. How do I get permission to use USB devices without displaying a dialog?

有android台设备没有屏幕。连接 USB 设备时会自动出现系统对话框以允许使用 USB。在不使用设备屏幕的情况下,需要获得许可。 假设会提前安装好设备应用程序,当USB设备自动连接时。

具体怎么做?

添加到清单文件中的 activity

<activity ...>
    ...
    <intent-filter>
        <action android:name="android.hardware.usb.action.USB_ACCESSORY_ATTACHED" />
    </intent-filter>

    <meta-data android:name="android.hardware.usb.action.USB_ACCESSORY_ATTACHED"
        android:resource="@xml/accessory_filter" />
</activity>

在 res/xml

中使用您的 USB 设备的参数创建文件
<?xml version="1.0" encoding="utf-8"?>

<resources>
    <usb-accessory manufacturer="Google, Inc." model="DemoKit" version="1.0" />
</resources>

有关详细信息,请参阅 https://developer.android.com/guide/topics/connectivity/usb/accessory.html

我在topic. Classes for the correct version of SDK took away中类比了。我创建了必要的包并复制到指定和丢失的 类。应将应用程序复制到文件夹system/priv-app中并全部获得。