首页 > 解决方案 > 在启动、安装和重新启动时初始化应用程序?

问题描述

如果我的应用程序需要在启动时进行某种初始化(例如注册广播接收器),标准的解决方案是BOOT_COMPLETED广播。它是 Android 8+ 仍将向清单声明的接收器提供的少数广播之一。所以解决方案是创建一个BroadcastReceiver,在清单中声明它并使用意图过滤器匹配BOOT_COMPLETED并在那里进行所有初始化。

缺点:此代码将在首次安装应用程序或替换软件包时的下一次重新启动之前运行。如果应用程序崩溃,初始化也会丢失——我可以通过子类Application化并在其方法中重新运行初始化内容来解决这个问题onCreate(),但用户仍然需要重新启动应用程序。

有什么方法可以让应用程序检测到它刚刚安装的时间,或者它刚刚崩溃的时间?

标签: androidinitialization

解决方案


推荐阅读