我有一个Activity
我希望在不调用onDestroy()
的情况下关闭它。所以我使用onStop();
看起来像
@Override
public void onStop(){
super.onStop();
try{
unbindService(mServerConn);
}
catch(Exception e){
e.printStackTrace();
}
}
我运行代码,但活动仍在屏幕上显示
你可以帮我隐藏它吗? 谢谢!答案 0 :(得分:2)
在这种情况下,onStop()
的使用不正确。如果您需要关闭活动,请使用finish()
。
Intent openStartingPoint = new Intent(this, MainActivity.class);
openStartingPoint.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(openStartingPoint);
finish();
这应该可以正常工作。
答案 1 :(得分:1)
你不应该致电onStop()
,但你可以这样做:
Intent startMain = new Intent(Intent.ACTION_MAIN);
startMain.addCategory(Intent.CATEGORY_HOME);
startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(startMain);
这将调用onStop()
并引导您进入主屏幕。
答案 2 :(得分:1)
当您的活动不可见时,将会调用
onStop()
前景给用户。因此,如果您的活动当前对用户可见,则意味着 尚未从 Android Framework
调用onStop()
你的方法是正确的。您正好onStop()
中的服务取消绑定,这是正确的方法。
我认为您的应用程序运行正确,无需修改
由于
答案 3 :(得分:0)
使用System.exit(0);
关闭它而不调用onDestroy().