Вы можете использовать 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 , которое отправляется при перезагрузке телефона.