为什么以下内容不起作用?
import android.hardware.usb.UsbDevice;
public class work {
public String getDeviceName(){
return UsbDevice.getDeviceName();
};
}
返回“不能从静态上下文中引用getDeviceName()。
如何正确调用UsbDevice.getDeviceName();方法? -我的班级“工作”不是静态的,为什么会出现此错误?
您需要创建一个UsbDevice
对象并从中调用方法。
UsbDevice usbDevice=//something;
String deviceName = usbDevice.getDeviceName();
例如:
要实时获取连接设备:
private final BroadcastReceiver mUsbReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
UsbDevice usbDevice = intent.getParcelableExtra(UsbManager.EXTRA_DEVICE);
String deviceName = usbDevice.getDeviceName();
}
};
要获取已连接的设备:
public void getConnectedDevices(){UsbManager管理器=(UsbManager)getSystemService(Context.USB_SERVICE);
HashMap<String, UsbDevice> deviceList = manager.getDeviceList();
Iterator<UsbDevice> deviceIterator = deviceList.values().iterator();
while (deviceIterator.hasNext()) {
UsbDevice device = deviceIterator.next();
manager.requestPermission(device, mPermissionIntent);
String name= device.getDeviceName();
}}