Сегодня я заметил кое-что довольно интересное.Жизненный цикл активности, кажется, имеет небольшое расхождение, когда время ожидания дисплея телефона истекло.Позвольте мне объяснить на примере.
У меня есть действие, которое использует акселерометр для вибрации телефона.В событии onPause
я отменяю регистрацию слушателя SensorManager
, чтобы не вызывать вибрацию телефона, когда моя деятельность больше не является основным фокусом.
Однако я заметил, что дисплей отключается изатем возвращается к моей активности, зарегистрированный SensorManager
слушатель еще до того, как я разблокирую экран, ввожу свой пароль, и моя активность отображается.
Теперь я понимаю, что это моя собственная интерпретация того, как я этого ожидаюработать, но мне это кажется довольно странным, так как моя деятельность еще не в центре внимания.Я ожидал, что слушатель SensorManager
не был зарегистрирован, потому что onResume
еще не был вызван.Это явно не тот случай, когда я могу заставить свой телефон вибрировать как с экрана блокировки, так и с экрана пароля.
Итак, кто-нибудь может объяснить, почему это происходит?Во-вторых, что я могу сделать, чтобы обойти это?
Спасибо.
РЕДАКТИРОВАТЬ для ясности
Я использую акселерометр, чтобы вызвать вибрацию, перемещаятелефон.Это достигается с помощью SensorManager
слушателя.
Сценарий:
Моя деятельность находится на переднем плане (основной фокус).Я запускаю вибрацию, перемещая телефон.Тайм-аут дисплея.В этот момент я не могу вызвать вибрацию.Я нажимаю home / power, чтобы показать экран.Теперь я могу вибрировать мой телефон, даже если отображается экран блокировки или экран пароля, и моя активность находится не на переднем плане.
Я не могу проверить причину, по которой я не могу вибрировать телефон, когда дисплей отключаетсяэто потому, что onPause
был вызван или что-то присуще ОС, которая препятствует этому.Или, другими словами, я также не могу проверить, был ли вызван onResume
при включении дисплея.
Ключом ко всему этому является понимание жизненного цикла активности, когда дисплей телефона выключен.К сожалению, я ожидал, что он будет следовать той же схеме жизненного цикла, что мы все узнали.Мое мнение состояло в том, что это отличается.