我有一个应用程序,使用它可以启动和播放音频,并查看歌词滚动。
如果点击android手机上的后退按钮,则应用程序状态不会保存。我希望在该状态下停止应用程序,并在用户返回时继续。
我想暂停音频并停止滚动。
我怎样才能做到这一点?
如果我接到来电,该应用程序运行良好。音频停止。滚动也是如此,这取决于音频状态。
应用程序是通过主干zepto使用phonegap构建的。
如果我是你,我不会搞砸的。用户期望使用后退按钮将关闭应用程序。改变这一点也意味着人们不能定期关闭应用程序(除非他们使用应用程序管理器)人们可以按下"主页"按钮来获得真正的乐趣。当应用程序处于"暂停"状态或从"暂停"返回时,您必须编辑执行的代码。
请查看此问题以了解更多信息。我将把答案中的一些信息放在这里:@Override公共void onSaveInstanceState(Bundle savedInstanceState){super.onSaveInstanceState(savedInstanceState);//将UI状态更改保存为savedInstanceState。//如果进程//终止并重新启动。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");
}