我有一个应用程序,用户可以在其中启动和播放音频并查看歌词滚动。
如果点击安卓手机上的返回按钮,应用程序状态不会被保存。我想在该状态下停止应用程序,并在用户返回时从那里继续。
我想暂停音频并停止滚动。
我怎样才能做到这一点?
如果我接到来电,该应用程序可以正常工作。音频停止。取决于音频状态的滚动也是如此。
应用程序是通过主干线zepto 使用phonegap 构建的。
我有一个应用程序,用户可以在其中启动和播放音频并查看歌词滚动。
如果点击安卓手机上的返回按钮,应用程序状态不会被保存。我想在该状态下停止应用程序,并在用户返回时从那里继续。
我想暂停音频并停止滚动。
我怎样才能做到这一点?
如果我接到来电,该应用程序可以正常工作。音频停止。取决于音频状态的滚动也是如此。
应用程序是通过主干线zepto 使用phonegap 构建的。
如果我是你,我不会搞砸的。用户期望使用后退按钮将关闭应用程序。改变这也意味着人们不能定期关闭应用程序(除非他们使用应用程序管理器这样做)人们可以按下“主页”按钮来获得确切的功能。您必须编辑在应用程序处于“暂停”状态或从“暂停”状态返回时执行的代码。
检查此问题以获取有关此的更多信息。我将把该答案中的一些信息放在这里:@Override 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");
}