Вы должны использовать это -
dialog.setCanceledOnTouchOutside(true);
Затем для выполнения вашей функции по внешнему щелчку диалогового окна, сделайте так -
dialog.setOnCancelListener(new DialogInterface.OnCancelListener() {
@Override
public void onCancel(DialogInterface dialog) {
// dialog dismisses
// Do your function here
}
});