我正在构建我的第一款Android游戏,我的问题是:
当我使用手机的“后退\退出”按钮退出应用程序时,我的应用程序正在关闭,我需要的所有信息都很好地保存到首选项文件中:
@Override
protected void onPause()
{
super.onPause();
// My pref file
SharedPreferences preferences = getSharedPreferences(PREF_FILE_NAME, 0);
SharedPreferences.Editor editor = preferences.edit();
// Put the values to the pref file
editor.putInt("CsereHolTart", CsereHolTart);
editor.putInt("melyikAct", melyikAct);
editor.putInt("Silver", Silver);
editor.putInt("Strength", Strength);
editor.putInt("Intelligence", Intelligence);
editor.putInt("Dexterity", Dexterity);
editor.putInt("Speed", Speed);
editor.putInt("Vitality", Vitality);
editor.putInt("Morale", Morale);
editor.putInt("cHp", cHp);
editor.putInt("cMp", cMp);
editor.putInt("isGame", 1);
// Commit to storage
editor.commit();
}
请参阅?我只是使用onPause()方法将我需要的所有东西实际放到首选项文件中:
public static final String PREF_FILE_NAME = "PrefFile";
当我打开应用程序时,所有保存的数据都被很好地读取,我的应用程序继续使用我保存然后加载的有效值从右边开始。
这很好,但是:
当我用我的手机的任务管理器关闭我的应用程序时,所以我手动执行“强制关闭”,似乎onPause()没有运行,或者其他我不知道的事情。所以问题是当我用任务管理器关闭我的应用程序时,所有加载都失败了,似乎所有保存的数据都被删除了。因为每个偏好都以这种方式加载到默认值。
有人能告诉我怎么办才能解决这个任务经理的强制关闭问题? 我希望每次用户退出应用程序时保存并加载,或者打开应用程序。
答案 0 :(得分:1)
当我用手机的任务管理器关闭我的应用程序时,所以我手动执行“强制关闭”,似乎onPause()没有运行
如果您在前台并通过某种任务管理器终止该过程,则不会调用onPause()
。 onPause()
仅在某些其他活动占据前景时被调用。