Android 程序死时的分为两种主要方式:
1. 使用 Activity 的生命周期回调:
- 你可以重写 `Activity` 的 `onDestroy()` 方法,在该方法中检测程序是否死。如果程序死,可以在该方法中保存必要的数据,以便程序重启后恢复状态。
示例代码:
```java
@Override
protected void onDestroy() {
super.onDestroy();
if (!isFinishing()) {
// 程序死,执行保存数据的逻辑
}
}
```
2. 使用 `BroadcastReceiver` 系统广播:
- 你可以注册一个 `BroadcastReceiver`, `android.intent.action.SCREEN_OFF` 或 `android.intent.action.BOOT_COMPLETED` 广播,在接收到这些广播时判断程序是否死,并执行相应的逻辑。
示例代码:
```java
public class MyReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (Intent.ACTION_SCREEN_OFF.equals(intent.getAction())) {
// 程序死,执行保存数据的逻辑
}
}
}
// 在 Activity 中注册广播接收器
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
IntentFilter filter = new IntentFilter(Intent.ACTION_SCREEN_OFF);
registerReceiver(new MyReceiver(), filter);
}
```
这两种方式都可以帮助你 Android 程序死的情况,并在程序死时保存必要的数据,以便程序重启后恢复状态。具体选择哪种方式,取决于你的具体需求和应用场景。