【问题标题】:How to monitor all running apps activities lifecycles and crashes?如何监控所有正在运行的应用程序活动生命周期和崩溃?
【发布时间】:2014-01-02 12:13:47
【问题描述】:

我正在尝试创建一个监控服务,它会知道应用程序何时 start/resume/restart/pause/... 以及应用程序何时崩溃。

我曾尝试读取 logcat,但似乎对 [onCreate()/onStart()/onRestart()/...] 的调用未登录到 logcat。

有没有办法捕获所有正在运行的应用程序的所有这些方法调用?有没有办法知道应用程序何时崩溃?

注意:这些事件发生后不需要立即通知服务,几秒钟/几分钟后也可以。

【问题讨论】:

  • 你应该更清楚你的主要目的是什么。是崩溃跟踪吗?还是 jsut 活动的生命周期方法跟踪?我现在要添加崩溃跟踪的答案。但请更新您的答案。谢谢
  • @ersentekin 主要目的是跟踪所有应用程序的生命事件,崩溃只是我的目的的另一种死亡事件。
  • 这个问题已经被多次以各种形式提出。答案是:不,不可能这样做,因为没有系统事件广播或记录活动生命周期更改。

标签: android android-activity monitor


【解决方案1】:

在这个答案中参考我的代码:

Android how to know an app has been started and range apps priority according the starting times

您可以按如下方式对其进行监控:

如果一个应用在前台,即如果它在start,那么它将是List taskInfo的第一项。

如果它被暂停,它将不再是该列表中的第一项。

要检查resume,看看它以前是否不是第一项,但在当前迭代中,它第一项.

我不太确定crash部分,但也许你可以从上面的逻辑中找到类似的方法。

【讨论】:

    【解决方案2】:

    您可以查看Crashlytics 以了解崩溃跟踪。您也可以在方法中看到崩溃的行。

    【讨论】:

    • 此解决方案不适用于我的问题,我需要查看所有应用程序,而不仅仅是我的应用程序。
    • 您的意思是要跟踪下载到您设备中的所有应用程序,即使您没有开发,对吧?
    猜你喜欢
    • 1970-01-01
    • 2014-11-19
    • 2015-01-03
    • 1970-01-01
    • 2018-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多