Dialog 클래스에는 setCanceledOnTouchOutside(boolean cancel) 이라는 메소드가 있습니다.
파라미터 값을 false 로 하여 이를 호출하면 다이얼로그 외부영역을 터치해도 다이얼로그가 사라지지 않습니다.
dialog.setCanceledOnTouchOutside(false)
추가로, setCancelable(boolean cancel) 이라는 메소드도 있습니다.
이 메소드에 파라미터 값을 false 로 주게되면 Back 버튼을 눌러도 창이 사라지지 않습니다.