我正在编写一个Android应用程序,启动广播接收器检查网络是否存在,如果它存在,应用程序将本地HTML文件加载到WebView中。然后从HTML文件中运行JavaScript代码,该代码生成AJAX请求并根据响应(XML文件)生成布局。除了一件事,一切都很好。
如果应用正在运行(在前台)并且屏幕进入睡眠模式(灯灭),则单击电源按钮会打开屏幕,一切正常。但当屏幕是appox。在睡眠模式下1.5小时,然后单击电源按钮打开屏幕,但也重新加载我的应用程序。我不希望我的应用重新加载。我没有看到与其他应用相同的内容(例如Facebook,内容等)。
任何人都可以帮我解决这个问题吗?清单中是否有一些指令可以让它做到这一点?所以我不希望它在暂停时回到应用程序时重新启动应用程序。
答案 0 :(得分:2)
如果用户长时间不使用,Android可能会破坏您的活动甚至进程。 (设备之间的确切行为不同)
因此,您需要(至少)在onSaveInstanceState
活动方法中正确保存所有重要状态,并在onCreate
或onRestoreInstanceState
中进行选择。 “正确”表示使用持久存储。如果您不介意重启设备,则可以使用提供的Bundle
对象;否则,使用SharedPreferences,SQLite DB或自己将数据写入文件......祝你好运!
如果您想在Android“忘记”上次用户的位置后显示相同的活动,则需要明确排列...例如,您可以保存一些内容(如上所述)并在您的启动活动中用它来触发相应活动的开始。
答案 1 :(得分:1)
所有后台任务都应该是服务。 http://developer.android.com/reference/android/app/Service.html
您还应该考虑使用AlarmManager来保存电池: http://developer.android.com/reference/android/app/AlarmManager.html
我不知道这种花式Cordova(?)设计是否可行。