Я использую функцию requestWait () в android.hardware.usb.Но это вызывает ошибку 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.Как решить это дело.