AOSP - разница между различными командами выключения

У меня AOSP 5.1 — сборка на моем устройстве Allwinner A33.

При длительном нажатии кнопки питания устройство запускает процедуру выключения. Он показывает диалоговое окно Power off вместе со счетчиком (см. скриншот). Это видно ~3.5с - 4.5с, потом аппарат выключен.

Однако, когда я подключаюсь к adb и ввожу adb shell reboot -p, устройство немедленно выключается (-p означает отключение питания)

Так в чем же разница между этими двумя возможностями выключения устройства Android?

  • А adb-команда чем-то опасна тем, что работает намного быстрее?
  • Могу ли я настроить нормальное завершение работы, чтобы оно было быстрее?
  • Если да, то какие файлы в AOSP мне нужно изменить?

введите здесь описание изображения


person Michael B    schedule 03.01.2018    source источник


Ответы (1)


У Android не должно быть проблем с запросом на немедленное завершение работы.

Устройство не должно делать этого, когда происходит KeyEvent KEYCODE_POWER. Согласно документам Android, это должно транслировать Intent с ACTION_SHUTDOWN, чтобы информировать приложения и т. д. о том, что устройство выключается. https://developer.android.com/reference/android/content/Intent.html#ACTION_SHUTDOWN

Таким образом, вы можете настроить AOSP, но тогда он не будет соответствовать документам.

Для более подробного ознакомления в этом сообщении в блоге упоминается процесс подтверждения диалога, отключение звука звонка и т. д., которые большинство пользователей также ожидают при длительном нажатии кнопки питания:

http://kpbird.blogspot.com/2013/08/in-depth-android-shutdown-sequence.html

person Jim    schedule 03.01.2018