我有一个带有覆盖后退按钮方法的活动
@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() 方法,并且会出现窗口泄漏,因为警报对话框可见并且活动被终止。
如何停止这个问题?
注意:当我们不在清单文件中提供父活动时,不会发生这种情况!