如何在系统杀死android之前运行的活动中重启我的应用程序?

时间:2014-03-21 21:36:54

标签: android android-activity activity-lifecycle

我的应用程序的用户大部分时间都在后台运行它。经过很长一段时间后系统会杀死我的应用程序,当他们试图进入我的应用程序时,它会重新开始。如何检索我的最后一点应用程序被杀之前?

3 个答案:

答案 0 :(得分:0)

覆盖Activity.onPause()并在其中放置一些代码保存到数据库或SharedPreference当前活动的类名。然后从您的主要活动中读回数据库或SharedPreference并开始相应的活动。

答案 1 :(得分:0)

您可以将共享偏好设置用于此类任务。

在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

**这是一篇类似的帖子,名为“应用程序杀死Android后恢复”Here

答案属于 - Anup Cowkur **

答案 2 :(得分:0)

当活动进入后台时,唯一可以保证 onPause()将被调用。在Android杀死您的应用之前,无法保证将调用onStop()或onDestroy()。您可以做的是将应用程序的状态,设置,重要数据等写入SharedPreferences文件或数据库,并在onResume()中检索它。

相关问题