启动应用程序时的Android事件处理程序

时间:2011-11-28 21:01:15

标签: android

在我的Android应用程序中,如何在应用程序启动时运行特定功能?如果可能,我不想将其与特定活动联系起来。将它绑定到特定活动的onCreate方法将不起作用,因为即使屏幕方向发生更改,onCreate也会被调用。

1 个答案:

答案 0 :(得分:3)

对于每次启动应用程序时只运行一次的函数,您有几个选项。

- 您可以使用要运行的函数创建Singleton,并使函数调用以单例内的静态布尔标志为条件。由于静态单例是来自任何给定Activity的外部,因此当您旋转屏幕并创建/销毁单个活动时,该标志不会还原。虽然这个解决方案比Application子类更受欢迎,但你确实需要确保函数调用“mySingleton.runOnce(params ...)”在每个Activity中,它构成了Activity的入口点(所以你可以从任何地方调用外部应用程序)

- 您可以继承Application类并覆盖其onCreate方法。这不是首选解决方案:从文档中

  

通常不需要子类Application。在大多数情况下,静态单例可以以更模块化的方式提供相同的功能。如果你的单例需要一个全局上下文(例如注册广播接收器),那么检索它的函数可以给一个Context,它在第一次构造单例时在内部使用Context.getApplicationContext()。

希望这有帮助!