Неактивность - очень важное событие. Для многих приложений, если пользователь не взаимодействует с ним в течение определенного количества секунд, его время до reset приложения и вернуться к основному отключению активности или сохранить энергию. Поэтому я действительно хотел бы получить некоторые отзывы о наилучшем способе обнаружить это. На самом деле, я думаю, что все выиграют от хорошего решения.
Итак, мой вопрос двоякий:
1) Существует ли лучший способ обнаружить неактивность пользователя, чем использование комбинации activity.onUserInteraction() - reset CountDownTimer?
Примечание. Один из перечисленных недостатков этого подхода заключается в том, что взаимодействие с программной клавиатурой может не быть подхваченный этим подходом.
Примечание. Другим сообщенным недостатком является то, что CountDownTimer отключен от основного потока и может не обновляться правильно. Я не уверен, насколько велика проблема?
Примечание. У CountDownTimer также есть проблемы с отменой: как остановить/отменить андроид CountDownTimer
2) Допустим, что onUserInteraction()/CountDownTimer - лучшее/единственное решение этой проблемы есть еще вопросы:
a), чтобы каждая активность запускала свой собственный таймер обратного отсчета?
b) Следует ли перезапустить один таймер обратного отсчета в методе onCreate для каждого вида деятельности?
c) позволяет сказать, что я хочу уменьшить экран или перейти к основной деятельности, когда обратный отсчет истекает, когда должен ли быть установлен обработчик тайм-аута? В каждом мероприятии? В службе?
Спасибо