无论如何要检测最近的Android操作系统崩溃?

时间:2018-03-15 05:11:50

标签: android crash

无论如何都要检测Android操作系统(不是应用程序)是否崩溃并重新启动手机?

应用程序需要检测应用程序本身何时发生 - 所以查看日志,因为开发人员不适合。

编辑:我已经在启动完成时使用接收器让我的应用程序知道了 - 但是我需要在那一刻区分是否有操作系统崩溃或者手机只是重启或打开/关闭。 / p>

2 个答案:

答案 0 :(得分:1)

您可以使用RECEIVE_BOOT_COMPLETED事件:

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

    <receiver
        android:name="CustomReceiver"
        android:enabled="true" >
        <intent-filter>
            <action android:name="android.intent.action.BOOT_COMPLETED" />
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </receiver>

然后在接收器中,执行您想要执行的操作:

public class CustomReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        Intent service = new Intent(context, WordService.class);
        context.startService(service);
    }
}

如果系统崩溃或电池耗尽或只是重新启动,则不提供此功能。还不确定您是否可以在不使设备生根的情况下访问Android日志。

答案 1 :(得分:0)

无法从应用中获取 Android操作系统崩溃日志。事实上,如果是这样,那将是一个安全漏洞。

  

Android应用沙盒,每个应用都在自己的实例中运行    Dalvik虚拟机(现在是Android Runtime)。

通用的Android操作系统并没有提供任何这样的桥梁来让应用程序收集操作系统崩溃数据。为此,您需要从 AOSP

构建一个Android