如何在android.hardware.usb中使用requestWait memeber函数

时间:2019-06-18 11:14:15

标签: android kotlin

我正在android.hardware.usb中使用requestWait()函数。但这会导致 ANR错误。此功能将无限期等待。

另一个功能是requestWait(time:long)。但是可以在Android API 26 上使用。我的设备 API 级别为21。

public UsbRequest requestWait() {
    UsbRequest request = null;
    try {
        // -1 is special value indicating infinite wait
        request = native_request_wait(-1);
    } catch (TimeoutException e) {
        // Does not happen, infinite timeout
    }

    if (request != null) {
        request.dequeue(
                mContext.getApplicationInfo().targetSdkVersion >= Build.VERSION_CODES.O);
    }
    return request;
}

public UsbRequest requestWait(long timeout) throws TimeoutException {
        timeout = Preconditions.checkArgumentNonnegative(timeout, "timeout");

    UsbRequest request = native_request_wait(timeout);
    if (request != null) {
        request.dequeue(true);
    }
    return request;
}

我在上面的代码中使用第一个函数。第二个功能在较高的API级别启用。如何解决这种情况。

0 个答案:

没有答案