Android Activity:外部触摸事件的侦听器

Chr*_*ser 1 java android android-dialog android-activity onactivityresult

我有一个显示为对话框的活动:

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    super.setTheme(android.R.style.Theme_Dialog);
    setFinishOnTouchOutside(true);
}
Run Code Online (Sandbox Code Playgroud)

当用户通过触摸 Activity-Dialog 窗口之外来关闭 Activity-Dialog 时,Activity 完成。

如何在此事件上设置侦听器?

这很重要,因为我希望能够打电话

setResult(intResultCode, intent);
Run Code Online (Sandbox Code Playgroud)

就在完成之前。

在 onPause() 中调用 setResult() 可能已经太晚了。

Gop*_*opi 5

为什么要挣扎那么多?只需覆盖 Avtivity 中的 finish() 方法...

@Override
public void finish() {
    setResult(int resultCode, Intent data);
    super.finish();
}
Run Code Online (Sandbox Code Playgroud)