Там какой-либо путь состоит в том, чтобы получить уведомление, когда пользователь выключает устройство?

Я должен знать, когда пользователь выключает его телефон. Есть ли какие-либо широковещательные сообщения (или подобный), которые уведомляют, когда телефон пользователя выключается?

42
задан Mridang Agarwalla 23 April 2014 в 17:07
поделиться

1 ответ

Вы можете использовать ACTION_SHUTDOWN Intent, который транслируется, когда телефон вот-вот выключится. В документации сказано:

Приложениям обычно не нужно будет обрабатывать это, так как активность на переднем плане также будет приостановлена.

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

Намерение ACTION_SHUTDOWN было введено в API уровня 4, другими словами оно будет отправляться только на телефоны под управлением Android 1.6 или более поздней версии .

Вы поймаете трансляцию в ловушку с помощью BroadcastReceiver. Это будет выглядеть следующим образом:

public class ShutdownReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        //Insert code here
    }

}

Вам также понадобится запись в Манифесте, например:

<receiver android:name=".ShutdownReceiver">
  <intent-filter>
    <action android:name="android.intent.action.ACTION_SHUTDOWN" />
  </intent-filter>
</receiver>

В зависимости от того, что вы делаете, другим вариантом будет использование ACTION_BOOT_COMPLETED Intent, которая отправляется при перезагрузке телефона.

66
ответ дан 26 November 2019 в 23:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: