Xamarinで書かれたアンドロイドアプリがあり、アクティビティやコンテキストへのアクセスが不十分なクラスから通知する必要があるため、システム警告ダイアログを使用してメッセージを表示しています。AlertDialogが短時間で表示されなくなります
Android 4.4では、ポップアップが表示され、ユーザーは[OK]ボタンをタップしてクリアする必要があります。画面の残りの部分は薄暗くなり、ユーザーはポップアップがクリアされるまで他のUI要素と対話できません。これが望ましい動作です。
Android 5.0(Galaxy S6とタブレットでテスト済み)では、ポップアップが約1秒間表示されてから、何もやりとりすることなく消えます。私は、Googleと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でするようにポップアップが仕事を得ることができますか?最高の答えは、Lollipop、Marshmallow、Nougatで動作します。
私は、これがどうして起こったのか、あるいはあなたが与えることができる背景情報についても非常に感謝しています。ありがとう!