我正在设计一个 Android 应用程序。
我的目标是,如果应用程序在后台被杀死,并且如果用户再次启动应用程序,那么它应该可以选择恢复应用程序。
现在,我的onStart
函数在两种情况下被调用:
- 活动第一次开始时
- 就算activity在kill之后开始。
我想检查哪个可以确定,onStart()
应用程序是从头开始,还是从以前的状态恢复?
我正在设计一个 Android 应用程序。
我的目标是,如果应用程序在后台被杀死,并且如果用户再次启动应用程序,那么它应该可以选择恢复应用程序。
现在,我的onStart
函数在两种情况下被调用:
我想检查哪个可以确定,onStart()
应用程序是从头开始,还是从以前的状态恢复?
您可以将共享首选项用于此类任务。
在您的 onStop() 函数中,在共享首选项中设置一个标志,例如:
SharedPreferences.Editor editor = getPreferences(MODE_PRIVATE).edit();
editor.putString("killed", "yes");
在您的 onStart() 中,检索首选项并像这样检查它:
SharedPreferences prefs = getPreferences(MODE_PRIVATE);
String flag = prefs.getString("killed", null);
if(flag!=null && flag.equals("yes")
{
//activity is resumed
}
else
{
//activity is started from scratch
}
有关共享首选项的更多信息,请参阅此处的官方文档:http: //developer.android.com/guide/topics/data/data-storage.html#pref
你可以做什么。在 onDestroy 方法中创建一个 Shared Preference 变量
并检查变量是否存在。在恢复以前的状态时,它不会存在。只有在活动被破坏时才会存在