Java 如何调用UsbDevice.getDeviceName()方法-无错误(无法从静态上下文引用)
为什么下面的方法行不通Java 如何调用UsbDevice.getDeviceName()方法-无错误(无法从静态上下文引用),java,android,static,non-static,Java,Android,Static,Non Static,为什么下面的方法行不通 import android.hardware.usb.UsbDevice; public class work { public String getDeviceName(){ return UsbDevice.getDeviceName(); }; } 返回“无法从静态上下文引用getDeviceName() 如何正确调用UsbDevice.getDeviceName();方法?-我的类“work”不是静态的,因此为什么会出现此错误
import android.hardware.usb.UsbDevice;
public class work {
public String getDeviceName(){
return UsbDevice.getDeviceName();
};
}
返回“无法从静态上下文引用getDeviceName()
如何正确调用UsbDevice.getDeviceName();方法?-我的类“work”不是静态的,因此为什么会出现此错误?您需要创建一个
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();
}
};
要获取已连接的设备:
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 manager=(UsbManager)getSystemService(Context.USB_服务)
HashMap deviceList=manager.getDeviceList();
迭代器deviceIterator=deviceList.values().Iterator();
while(deviceIterator.hasNext()){
UsbDevice device=deviceIterator.next();
manager.requestPermission(设备、mPermissionIntent);
字符串名称=device.getDeviceName();
}}