У меня есть задание с интервалом в моем приложении для Android. Предположим, что это задача проверки работоспособности устройства, подключенного к USB, и оно работает каждые 10 минут. В соответствии с приведенным ниже кодом класса задача запускается с помощью метода start()
.Как решить рекурсивный вызов, который вызывает ошибку переполнения стека в Android?
Когда первый запрос не выполнен, немедленный второй запрос будет отправлен без ожидания следующего интервала 10 минут. Немедленные следующие проверки будут отправляться в соответствии с repeatCounter
, например, 2 раза или 3 раза. Однако, когда второй sendRequest()
вызывается в onWrite()
, threadid=1: stack overflow on call
бросается. Я думаю, это рекурсивная проблема.
mWrite
- это обратный звонок к mAccessor.Write()
;
Как я могу это решить?