android - 在启动、安装和重新启动时初始化应用程序?
问题描述
如果我的应用程序需要在启动时进行某种初始化(例如注册广播接收器),标准的解决方案是BOOT_COMPLETED
广播。它是 Android 8+ 仍将向清单声明的接收器提供的少数广播之一。所以解决方案是创建一个BroadcastReceiver
,在清单中声明它并使用意图过滤器匹配BOOT_COMPLETED
并在那里进行所有初始化。
缺点:此代码将在首次安装应用程序或替换软件包时的下一次重新启动之前运行。如果应用程序崩溃,初始化也会丢失——我可以通过子类Application
化并在其方法中重新运行初始化内容来解决这个问题onCreate()
,但用户仍然需要重新启动应用程序。
有什么方法可以让应用程序检测到它刚刚安装的时间,或者它刚刚崩溃的时间?
解决方案
推荐阅读
- c# - c# 中使用具有命名空间和前缀的 XmlWriter 的 XML 文件格式
- r - 应用函数修改 R 数据框列中的奇数行和偶数行
- reactjs - Typescript React - 与类型“IntrinsicAttributes”没有共同的属性
- c# - 从动作委托 C# 调用方法获取结果
- c++ - 你能告诉我下面的代码有什么问题吗?
- r-markdown - 执行当前 Rmarkdown 块并移动到 RStudio 中的下一个块
- ios - 实例成员“....”不能用于类型“CustomTextField”;你的意思是使用这种类型的值吗?
- laravel - 如何在 laravel 中正确实现 CRUD json 字段
- angular - 我需要根据用户选择有条件地渲染一个角度组件
- javascript - Jest helper-module-transforms 无法读取未定义的属性“值”