【发布时间】:2021-06-06 16:18:16
【问题描述】:
我正在使用 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
}
我已将我的设备连接到我的笔记本电脑。但是当我打开应用程序时,设备列表总是空的。代码有什么问题,我该如何解决?
【问题讨论】:
标签: android kotlin android-usb