Создание диалогового окна оповещения и оповещения приводит к ошибке: невозможно добавить окно - PullRequest
0 голосов
/ 08 ноября 2018

Сначала я хотел бы заявить, что это не дубликат проблемы с ошибкой «Невозможно добавить окно», которую другие получали с помощью диалоговых окон оповещения. Это приложение создает уведомления и диалог оповещения, когда значение добавляется к определенному пути в Firebase. Я протестировал уведомление и диалог оповещения по отдельности, и они работали . Даже когда приложение было в фоновом режиме, я не получил никаких ошибок.

Проблема «Невозможно добавить окно» возникла, когда я попытался нажать на уведомление, чтобы вернуть меня в свое приложение. То, как работает мое приложение, заключается в том, что на другом устройстве нажимается кнопка, и она вставляет некоторые значения в Firebase под двумя путями, один для уведомлений, а другой для диалога предупреждений. Затем на моем текущем устройстве он считывает эти пути, чтобы проверить, не являются ли они пустыми. Если они не пусты, то будет создано уведомление и диалог предупреждений.

Текущее поведение: То, что происходит сейчас, заключается в том, что в действии появляются уведомление и диалог оповещения. Уведомление также появляется, когда я нахожусь в другом приложении, пока мое приложение находится в фоновом режиме. Проблема возникает, когда я нажимаю на уведомление, чтобы вернуть меня к своему приложению. Это действительно приводит меня к активности, как и ожидалось, но когда новые значения вставляются в Firebase, выдается ошибка «Невозможно добавить окно».

Я не могу понять, почему возникает эта ошибка, потому что в приложении нормально работают диалог предупреждений и уведомления, но когда я использую уведомление для перехода в приложение, я получаю эту ошибку. Я попытался прочитать другие ответы StackOverflow на ту же ошибку «Невозможно добавить окно», но ни одно из этих решений не помогло мне, поскольку они имели отношение к контексту диалога оповещения, тогда как здесь моя проблема связана с уведомление, возвращающее меня в мое приложение.

Это ссылка на мой полный код Java на GitHub. Вот функция, которую я вызываю для создания уведомления:

private void makeNotification(DatabaseReference databaseReference102, String value) {
// The error occurs when I click on the notification to take me back to the app which is in the code below.
//When I click on the notification, the next time values are aded to Firebase, it gives me the "Unable to Add Window" error.
    Intent intent = new Intent(getApplicationContext(), CaretakerAccount.class);
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
    PendingIntent pendingIntent = PendingIntent.getActivity(getApplicationContext(), 0, intent, 0);

    NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(getApplicationContext(), "Channel")
            .setSmallIcon(R.drawable.notification)
            .setContentTitle("A User Logged In!")
            .setContentText(value + " just logged in!")
            .setStyle(new NotificationCompat.BigTextStyle()
                    .bigText(value + " just logged in!"))
            .setContentIntent(pendingIntent)
            .setAutoCancel(true)
            .setPriority(NotificationCompat.PRIORITY_MAX);

    NotificationManagerCompat notificationManager = NotificationManagerCompat.from(getApplicationContext());

    notificationManager.notify(0, mBuilder.build());
    databaseReference102.removeValue();
   //Removes the value in the notification path that way the notification is not made repeatedly.
}

Любая помощь приветствуется. Заранее спасибо!

...