系统崩溃或重启时是否有任何事件/意图让我知道?

时间:2011-08-02 08:19:51

标签: android database crash reboot

我已经实现了一项功能,可以在需要时更新数据库。

(例如,将数据库的一个列值更改为B)

如果系统崩溃或重新启动或出现故障,

有什么我可以知道然后我可以处理恢复数据库吗?

(例如,将数据库的一个列值恢复回A)

感谢您的帮助。

3 个答案:

答案 0 :(得分:0)

<uses-permission android:name=”android.permission.RECEIVE_BOOT_COMPLETED” />

定义执行所需操作的BroadcastReceiver

您需要在manifest中使用:

<receiver android:name=”.MyReceiver”>
    <intent-filter>
        <action android:name=”android.intent.action.BOOT_COMPLETED” />
    </intent-filter>
</receiver>

答案 1 :(得分:0)

当设备完成时,它广播一个意图,并通过注册到该广播,你可以接听电话:

         public class YourReceiverName extends BroadcastReceiver{
            @Override
            public void onReceive(final Context context, Intent intent) {

                if(intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)){
                //Do your task here....
                        }
                }
         }

添加清单文件的权限:

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

并在清单文件中注册此接收器:

    <receiver android:name="Your receiver name">
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED" />
            </intent-filter>
        </receiver>

对于数据库,您可以自行决定如何处理它以及您的应用需求。

答案 2 :(得分:0)

根据定义,崩溃无法被捕获。

这就是导致崩溃的原因。