我正在使用 Kotlin 构建一个 Android 应用程序。我想要做的是我试图列出所有通过 USB 连接的设备。但设备列表始终为空。
首先,我在文件中放入以下声明AndroidManifest.xml
:
<uses-feature android:name="android.hardware.usb.host" />
当活动打开时,在 onCreate 方法中,我调用了以下函数来获取 USB 连接设备的列表:
private fun getDeviceList(): ArrayList<UsbDevice> {
var deviceList: ArrayList<UsbDevice> = ArrayList()
var usbManager: UsbManager = activity?.getSystemService(Context.USB_SERVICE) as UsbManager
for (device in usbManager.deviceList.values) {
deviceList.add(
UsbDevice(
id = device.deviceId.toString(),
name = device.deviceName,
model = "device"
)
)
}
if (usbManager.accessoryList != null) {
for (accessory in usbManager.accessoryList) {
deviceList.add(
UsbDevice(
id = accessory.serial.toString(),
name = accessory.description.toString(),
model = "accessory"
)
)
}
}
return deviceList
}
我已将设备连接到笔记本电脑。但是当我打开应用程序时,设备列表总是空的。代码有什么问题,我该如何解决?