根据自己的需求来选择
一定要在dialog.show( );方法前使用
//点击弹窗外部或物理返回键都不消失
dialog.setCancelable(false);
//点击弹窗外部不消失,物理返回键消失
dialog.setCanceledOnTouchOutside(false);
//点击弹窗外部消失,物理返回键消失
dialog.setOnCancelListener(new DialogInterface.OnCancelListener() {
@Override
public void onCancel(DialogInterface dialog) {
//进行你想要的操作
}
});