Как реализовать окно оповещения в xamarin формах Android - PullRequest
1 голос
/ 18 апреля 2019

Я внедрил службу зависимостей для отображения окна предупреждения в моем приложении xamarin форм. Мое приложение аварийно завершает работу, когда я вызываю окно предупреждения в Android.

Вот мой код

Android.App.AlertDialog.Builder _dialog = new AlertDialog.Builder(Android.App.Application.Context);
AlertDialog _alertDialog = _dialog.Create();
_alertDialog.SetTitle("Unauthorized");
_alertDialog.SetMessage("Please login again to continue using the      App);
_alertDialog.SetButton("OK", (c, ev) => { CloseApp(); });
_alertDialog.Show();

Выдает исключение: - Невозможно добавить окно - токен ноль не для приложения в Android.

Как это исправить Пожалуйста, помогите мне

1 Ответ

0 голосов
/ 18 апреля 2019

Невозможно добавить окно - токен null недействителен; ваша деятельность работает?

Вы используете контекст приложения, и вам нужно использовать контекст на основе действия.

Таким образом, вам нужен контекст текущей Деятельности в классе зависимостей ваших форм, который вы можете получить с помощью нескольких методов; Статическая переменная MainActivity, использующая «CurrentActivityPlugin» и т. Д ...

В качестве быстрого исправления добавьте переменную контекста static к своему классу MainActivity и установите ее в переопределении OnResume.

public static Context context;
protected override void OnResume()
{
    context = this;
    base.OnResume();
}

Затем измените свой контекст на статический:

Android.App.AlertDialog.Builder _dialog = new Android.App.AlertDialog.Builder(MainActivity.context);
...