【发布时间】:2020-10-07 14:06:28
【问题描述】:
我有一个带有覆盖后退按钮方法的活动
@Override
public boolean onOptionsItemSelected(MenuItem item) {
Log.d(TAG, "onOptionsItemSelected");
if (item.getItemId() == android.R.id.home)
onBackPressed();
Log.d(TAG, "onOptionsItemSelected: if executed");
return super.onOptionsItemSelected(item);
}
@Override
public void onBackPressed() {
closeDialog();
}
在硬件按下后退按钮时向用户显示警报对话框效果很好。当用户授予权限时,活动就完成了。 但是,当用户单击工具栏中的后退箭头时,会显示对话框,但会调用活动 onPause()、onStop() 方法,并且会出现窗口泄漏,因为警报对话框可见并且活动被杀死。
如何解决这个问题?
注意:当我们不在清单文件中提供父活动时,不会发生这种情况!
【问题讨论】:
标签: android android-manifest back-button-control