从最近菜单中单击而不是恢复时,如何重新启动我的应用程序?
How can I restart my app when it is clicked on from the recents menu instead of resuming?
我正在制作游戏,我希望我的应用在最近菜单中被选中时重新启动。因此,如果在游戏进行到一半时,玩家按下主页按钮,应用程序将再次重新打开。我之前试过这个但没用。
@Override
public void onResume(){
super.onResume();
}
@Override
public void onPause(){
super.onPause();
onStop();
onDestroy();
}
我在 onResume() 方法中放了什么?
@Override
public void onPause(){
super.onPause();
finish();
}
我建议您不要做任何特别的事情 onPause()
因为在那个回调中 activity 可能仍然对用户可见并且可能会造成混淆,see docs.
而不是尝试使用 onStop()
:
@Override
protected void onStop(){
super.onStop();
finish();
}
当用户在 activity 的 onRestart()
上返回游戏时,您也可以尝试重新创建游戏对象。
这不是一个理想的解决方案,但您始终可以在 activity 上终止应用程序的进程 ID,您希望从头开始启动应用程序,
但这会破坏您当前的游戏进度,因此您可能希望在调用这行代码之前处理它
android.os.Process.killProcess(Process.myPid());
在 activity
的 onStop() 回调中调用它
我正在制作游戏,我希望我的应用在最近菜单中被选中时重新启动。因此,如果在游戏进行到一半时,玩家按下主页按钮,应用程序将再次重新打开。我之前试过这个但没用。
@Override
public void onResume(){
super.onResume();
}
@Override
public void onPause(){
super.onPause();
onStop();
onDestroy();
}
我在 onResume() 方法中放了什么?
@Override
public void onPause(){
super.onPause();
finish();
}
我建议您不要做任何特别的事情 onPause()
因为在那个回调中 activity 可能仍然对用户可见并且可能会造成混淆,see docs.
而不是尝试使用 onStop()
:
@Override
protected void onStop(){
super.onStop();
finish();
}
当用户在 activity 的 onRestart()
上返回游戏时,您也可以尝试重新创建游戏对象。
这不是一个理想的解决方案,但您始终可以在 activity 上终止应用程序的进程 ID,您希望从头开始启动应用程序,
但这会破坏您当前的游戏进度,因此您可能希望在调用这行代码之前处理它
android.os.Process.killProcess(Process.myPid());
在 activity
的 onStop() 回调中调用它