非常简单的设置:
- 使用
onCreate()
方法扩展应用程序类。 - 一个
Activity
- 一个
IntentService
计划由AlarmManager
不时重复运行
应用类将在此处实例化为 2 种情况:
- 当 Activity 直接启动时(应用已死)
- 当 IntentService 由 AlarmManager 的未决 Intent 启动时(以防应用已死)
现在问题: 在 Application 类中,如何获取上述 2 种情况中的哪一种启动了应用程序?
最佳答案
AFAIK,您无法从自定义 Application
子类的 onCreate()
中判断这两种情况中的哪一种导致您的进程启动。 Application
没有要调用的 heyWhatStartedMe()
之类的方法,onCreate()
也没有传递任何表明进程被执行的原因开始了。
我不太确定为什么您仍然需要确定差异。 Application
的 onCreate()
在主应用程序线程上调用,因此无论哪个组件触发进程创建,您都不想在那里做任何缓慢的事情。如果你想做的工作很快,你可以一直做,或者将该逻辑移到 Activity
或 IntentService
中。
关于java - 在 Application 类中查找 Android App 是如何启动的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38551766/