使startActivityForResult()成为模态

时间:2019-03-03 15:28:53

标签: android dialog modal-dialog startactivityforresult

我正在为我的Android应用程序使用帐户选择器。

Intent intent = AccountPicker.newChooseAccountIntent(null, null, new String[] { GoogleAuthUtil.GOOGLE_ACCOUNT_TYPE }, false, null, null, null, null);
startActivityForResult(intent, REQUEST_CODE_EMAIL);

一切正常。但是我想知道,是否有可能迫使用户点击“确定”或“取消”。当前,如果用户在此对话框之外单击,则与单击“取消”相同。

有没有一种方法可以使对话框变为模态,以迫使用户单击“确定”或“取消”。

在我看来,取消此对话框太容易了,某些事情是无意发生的,然后对话框消失了。

1 个答案:

答案 0 :(得分:0)

如果您有一个活动(即使它看起来像一个对话框),那么您应该这样做

  

this.setFinishOnTouchOutside(false);

如果您使用过Dialog类,则应调用

  

dialog.setFinishOnTouchOutside(false)

如果要防止在单击后台活动时将其关闭。 希望对您有所帮助。