Как вызвать метод UsbDevice.getDeviceName () - без ошибок (на него нельзя ссылаться из контекста stati c) - PullRequest
0 голосов
/ 20 марта 2020

почему следующее не будет работать?

import android.hardware.usb.UsbDevice;

public class work {
    public String getDeviceName(){
        return UsbDevice.getDeviceName();
    };
}

возвращает "getDeviceName () нельзя ссылаться из контекста stati c.

Как правильно вызвать UsbDevice.getDeviceName (); метод? - Мой класс "работа" не stati c, так почему эта ошибка появляется?

1 Ответ

0 голосов
/ 20 марта 2020

Вам необходимо создать объект 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();

    }
};

, чтобы получить уже подключенные устройства:

publi c void getConnectedDevices () {UsbManager manager = (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();

    }}
...