1

我正在设计一个 Android 应用程序。

我的目标是,如果应用程序在后台被杀死,并且如果用户再次启动应用程序,那么它应该可以选择恢复应用程序。

现在,我的onStart函数在两种情况下被调用:

  1. 活动第一次开始时
  2. 就算activity在kill之后开始。

我想检查哪个可以确定,onStart()应用程序是从头开始,还是从以前的状态恢复?

4

2 回答 2

2

您可以将共享首选项用于此类任务。

在您的 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

于 2012-10-08T06:04:57.330 回答
1

你可以做什么。在 onDestroy 方法中创建一个 Shared Preference 变量

并检查变量是否存在。在恢复以前的状态时,它不会存在。只有在活动被破坏时才会存在

于 2012-10-08T06:10:34.830 回答