警报对话框短暂显示并消失



我有一个使用 Xamarin 编写的 android 应用程序,该应用程序需要从无法很好地访问活动或上下文的类发出通知,因此我正在使用系统警报对话框来显示消息。

在 Android 4.4 中,会出现弹出窗口,用户必须点击确定按钮才能将其清除。屏幕的其余部分变暗,在清除弹出窗口之前,用户无法与任何其他 UI 元素进行交互。这是所需的行为。

在Android 5.0(在Galaxy S6和平板电脑上测试(中,弹出窗口将出现约一秒钟,然后消失,无需任何交互。我已经做了一些谷歌和SO搜索,但无济于事。

private static void ShowSystemAlert(Context context, string message)
{
var dialog = new AlertDialog.Builder(context, Android.Resource.Style.ThemeHoloLightDialog)
.SetNeutralButton("OK", (alertSender, args) => {})
.SetMessage(message)
.Create();
dialog.SetCanceledOnTouchOutside(false);
dialog.Window.SetType(WindowManagerTypes.SystemAlert);
dialog.Show();
dialog.Window.DecorView.SetBackgroundResource(Android.Resource.Color.Transparent); //remove strange small border around dialog
}

如何让弹出窗口像在 Android 4.4 中一样工作?最佳答案适用于棒棒糖、棉花糖和牛轧糖。

我也非常感谢解释为什么会发生这种情况,或者你能提供的任何背景信息。谢谢!

是xamarin吗?创建仅包含上下文的警报对话框,不要使用主题。

最新更新