在 finish()
方法中调用 onStop()
方法后会发生什么?
是否会导致 anr :表示调用
的的onPause() - >的onStop() - >光洁度() - >的onPause()...... 的
或完成活动:表示直接调用
的的onDestroy() 的
实际上,当我的活动完全 时,我想 完成 我的活动。
编辑:
看到这个场景,我发布了一个布局高度为的活动B. width小于活动A,因此活动A部分可见 当我按下主页按钮时,活动A完全变为 无形。此时我想关闭活动A,所以它不会 打电话给onRestart()。
提前致谢。
答案 0 :(得分:2)
完成活动并调用onDestroy()
。如果您想在隐身时完成活动,则应在finish()
中致电onStop()
。
答案 1 :(得分:0)
在你的情况下,最好的方式是调用finish();
由于
答案 2 :(得分:0)
根据您的方案,在MainActivity中维护一个标志,表明其他Activity是否已启动?并确保自己完成MainActivity或不基于该标志......
这可能对你有帮助......
public class MyActivity extends Activity {
private boolean isSecondActivityLaunched;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
protected void onResume() {
super.onResume();
isSecondActivityLaunched = false;
}
public void onClick(View view) {
Intent intent = new Intent(this, SecondActivity.class);
startActivity(intent);
isSecondActivityLaunched = true;
}
@Override
protected void onStop() {
super.onStop();
if(!isSecondActivityLaunched) {
finish();
}
}
}