应用升级后app会启动LAUNCH活动吗?

时间:2017-02-09 15:00:46

标签: android upgrade

在我的下一个应用版本中,我需要一个布尔标志enableNotification。因此,为了在用户在MainActivity中启动我的应用程序后,我的应用程序中的一切正常,它将此标志设置为false并将其保存到 SharedPreferences 。如果它没有转到MainActivity并将此标志设置为共享我的应用程序将运行错误。

所以我的问题是,在用户将Google Play上的应用升级到较新版本(旧版本在SharedPref中没有此标记)后,它是先进入MainActivity而不是用户所在的Activity之前(SecondActivity,ThirdActivity ......)?或者将此标志保存到数据库更好,所以在onCreate()中将此标志设置为false?

2 个答案:

答案 0 :(得分:1)

如果您的应用依赖于SharedPreference' enableNotification'要工作,那么你需要先在Application课程中进行检查。

如果应用程序之前从未拥有该值,则首先在Application类中初始化该值。执行检查应用程序onCreate(),因为在Activity之前调用Application类,如文档所示:

  

void onCreate()

     

在应用程序启动时,在任何活动,服务之前调用   或创建了接收者对象(不包括内容提供者)。   实现应该尽可能快(例如使用懒惰   初始化状态)因为在这个函数中花费的时间   直接影响开始第一项活动的表现,   服务或流程中的接收者。如果重写此方法,请执行   一定要打电话给super.onCreate()。

答案 1 :(得分:1)

在Android上更新应用程序会关闭它 因此,下次用户打开应用程序时,它将启动您使用Android Manifest中的ACTION_MAIN Intent过滤器声明的Activity(可能是MainActivity