2013-09-27 69 views
0

我的Phonegap/cordova应用程序在按主屏幕按钮时变为背景(暂停状态)。在几分钟内,当点击我的应用程序图标时,它会很快恢复(即当它进入背景时在同一屏幕上)。但是,如果经过较长时间(例如几十分钟?),当我点击图标时,该应用将首次开始(例如,从启动页面开始并在加载后转到index.html)。科尔多瓦应用程序在后台退出一段时间后退出

如何在长时间放置背景时防止应用程序存在?我不希望用户在这种情况下等待很长时间(我会覆盖后退按钮侦听程序,以便用户可以以这种方式实际退出应用程序)。

我不确定是否需要任何“后台服务”插件,因为我没有后台服务,只是想按预期行事。

回答

0

当您的活动输入paused state时,系统会在您的活动中调用onPause()方法,该方法允许您停止正在进行的操作,该操作在暂停时不应该继续,或者在用户继续保留时应该永久保存的任何信息离开你的应用程序。如果用户从暂停状态返回到活动状态,系统会恢复并调用onResume()方法。所以你可以做到以下几点。

@Override 
public void onPause() { 
    super.onPause(); // Always call the superclass method first 
    // save the current configuration or state here on sharedPref 
} 

@Override 
public void onResume() { 
    super.onResume(); // Always call the superclass method first 

    // retrieve the instance configuration or state here from shared pref. 
} 
+0

那么,为什么在进入暂停状态一段时间后,应用程序可以正确恢复自身,但在更长暂停后自动退出? – mrmoment

+1

如果活动暂停或停止,则系统可以通过要求完成活动或仅干脆停止活动,从而从内存中删除活动。当它再次显示给用户时,它必须完全重新启动并恢复到以前的状态。 http://developer.android.com/reference/android/app/Activity.html#ActivityLifecycle – Yup

相关问题