单击android中的后退按钮不会保存phonegap应用程序状态

时间:2015-02-25 18:53:58

标签: android cordova backbone.js phonegap-4.0.0

我有一个应用程序,用户可以开始播放音频并看到歌词滚动。

如果单击Android手机上的后退按钮,则不会保存应用程序状态。我希望在该状态下停止应用程序,并在用户返回时从那里继续。

我想暂停音频并停止滚动。

我怎样才能做到这一点?

如果我收到来电,应用程序可以正常工作。音频停止。那么依赖于音频状态的滚动也是如此。

应用程序是通过骨干网,zepto使用phonegap构建的。

1 个答案:

答案 0 :(得分:0)

如果我是你,我不会惹这个。用户希望使用后退按钮关闭应用程序。改变这也意味着人们无法定期关闭应用程序(除非他们通过应用程序管理器执行此操作)人们可以按下" home"这个确切功能的按钮。您必须编辑应用程序进入或从"暂停"状态。

检查this question以获取更多相关信息。我只是在这里放置一些来自该答案的信息: @覆盖 public void onSaveInstanceState(Bundle savedInstanceState){   super.onSaveInstanceState(savedInstanceState);   //将UI状态更改保存到savedInstanceState。   //如果进程是,则此包将传递给onCreate   //杀死并重新启动   savedInstanceState.putBoolean(" MyBoolean",true); }

您需要覆盖onSaveInstanceState(Bundle savedInstanceState)并将要更改的应用程序状态值写入Bundle参数,如下所示:

离开应用程序(主页按钮)时会执行此操作。

@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
  super.onSaveInstanceState(savedInstanceState);
  // Save UI state changes to the savedInstanceState.
  // This bundle will be passed to onCreate if the process is
  // killed and restarted.
  savedInstanceState.putBoolean("MyBoolean", true);
  savedInstanceState.putDouble("myDouble", 1.9);
  savedInstanceState.putInt("MyInt", 1);
  savedInstanceState.putString("MyString", "Welcome back to Android");
  // etc.
}

当你回到应用程序时,这将被执行。

@Override
public void onRestoreInstanceState(Bundle savedInstanceState) {
  super.onRestoreInstanceState(savedInstanceState);
  // Restore UI state from the savedInstanceState.
  // This bundle has also been passed to onCreate.
  boolean myBoolean = savedInstanceState.getBoolean("MyBoolean");
}