【问题标题】:How can I restart my app when it is clicked on from the recents menu instead of resuming?从最近的菜单中单击而不是恢复时,如何重新启动我的应用程序?
【发布时间】:2015-09-20 18:50:51
【问题描述】:
我正在制作一个游戏,我希望我的应用在最近菜单中被选中时重新启动。因此,如果在游戏中途,玩家按下主页按钮,应用程序将再次重新打开。我之前尝试过,但无济于事。
@Override
public void onResume(){
super.onResume();
}
@Override
public void onPause(){
super.onPause();
onStop();
onDestroy();
}
我在 onResume() 方法中放了什么?
【问题讨论】:
标签:
android
android-lifecycle
oncreate
onresume
【解决方案1】:
我建议你不要做任何特别的事情onPause(),因为在那个回调活动可能对用户仍然可见并且它可能会令人困惑,see docs。
尝试使用onStop():
@Override
protected void onStop(){
super.onStop();
finish();
}
当用户在您的活动的onRestart() 导航回游戏时,您也可以尝试重新创建游戏对象。
【解决方案2】:
这不是一个理想的解决方案,但您始终可以在该活动上终止应用程序的进程 ID,您希望从头开始启动应用程序,
但这会破坏你在游戏中的当前进度,所以你可能需要在调用这行代码之前处理它
android.os.Process.killProcess(Process.myPid());
在你的活动的 onStop() 回调中调用它
【解决方案3】:
@Override
public void onPause(){
super.onPause();
finish();
}