java - 在 Application 类中查找 Android App 是如何启动的

标签 java android

非常简单的设置:

  • 使用 onCreate() 方法扩展应用程序类。
  • 一个 Activity
  • 一个 IntentService 计划由 AlarmManager 不时重复运行

应用类将在此处实例化为 2 种情况:

  1. 当 Activity 直接启动时(应用已死)
  2. 当 IntentService 由 AlarmManager 的未决 Intent 启动时(以防应用已死)

现在问题: 在 Application 类中,如何获取上述 2 种情况中的哪一种启动了应用程序?

最佳答案

AFAIK,您无法从自定义 Application 子类的 onCreate() 中判断这两种情况中的哪一种导致您的进程启动。 Application 没有要调用的 heyWhatStartedMe() 之类的方法,onCreate() 也没有传递任何表明进程被执行的原因开始了。

我不太确定为什么您仍然需要确定差异。 ApplicationonCreate() 在主应用程序线程上调用,因此无论哪个组件触发进程创建,您都不想在那里做任何缓慢的事情。如果你想做的工作很快,你可以一直做,或者将该逻辑移到 ActivityIntentService 中。

关于java - 在 Application 类中查找 Android App 是如何启动的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38551766/

相关文章:

java - 如何使用java流过滤List<String,Object>集合?

java - BufferedReader 在到达空行时停止读取

java - 如何在Java中维护二维列表?

java - 为菜单、对话框等选择什么子包名称?

android - getExternalStoragePublicDirectory 传递的路径在 Android 5.0 上不起作用

java - 比较 bytes[] 和 String.getBytes()

java - 我可以使用什么库来解析 Java 中的单词?

Android Intent.ACTION_CALL,URI

android - 如何在 android 下获得工作的动态 ToggleButton 文本?

android - 如何禁止从边缘滑动 ViewPager?