在我的下一个应用版本中,我需要一个布尔标志enableNotification
。因此,为了在用户在MainActivity中启动我的应用程序后,我的应用程序中的一切正常,它将此标志设置为false并将其保存到 SharedPreferences 。如果它没有转到MainActivity并将此标志设置为共享我的应用程序将运行错误。
所以我的问题是,在用户将Google Play上的应用升级到较新版本(旧版本在SharedPref中没有此标记)后,它是先进入MainActivity而不是用户所在的Activity之前(SecondActivity,ThirdActivity ......)?或者将此标志保存到数据库更好,所以在onCreate()
中将此标志设置为false?
答案 0 :(得分:1)
如果您的应用依赖于SharedPreference' enableNotification'要工作,那么你需要先在Application课程中进行检查。
如果应用程序之前从未拥有该值,则首先在Application类中初始化该值。执行检查应用程序onCreate()
,因为在Activity之前调用Application类,如文档所示:
void onCreate()
在应用程序启动时,在任何活动,服务之前调用 或创建了接收者对象(不包括内容提供者)。 实现应该尽可能快(例如使用懒惰 初始化状态)因为在这个函数中花费的时间 直接影响开始第一项活动的表现, 服务或流程中的接收者。如果重写此方法,请执行 一定要打电话给super.onCreate()。
答案 1 :(得分:1)
在Android上更新应用程序会关闭它
因此,下次用户打开应用程序时,它将启动您使用Android Manifest中的ACTION_MAIN Intent过滤器声明的Activity(可能是MainActivity
)