Часто вылетавшее сообщение на устройствах Samsung, вызванное фоновыми уведомлениями моего приложения - PullRequest
2 голосов
/ 17 января 2020

В моем приложении Xamarin я реализовал код для получения тихих фоновых уведомлений, которые отправляются каждые 30 минут. Все работает отлично, за исключением новых устройств Samsung (Galaxy S7, S10 et c.), Приложение получает первое уведомление и обрабатывает его, но второе и другие уведомления, отправленные через полчаса после предыдущего уведомления, игнорируются устройством, и на устройстве отображается сообщение о том, что приложение разряжает батарею и часто выходит из строя.

Проверяя журналы, я вижу, что функция, которая получает входящие уведомления, работает для первого уведомления, но не работает для других входящих, что означает, что проблема не в самом коде.

Кто-нибудь знает, чем вызвана проблема?

Ниже я кратко рассмотрел свою функцию который получает уведомление:

  public async override void OnMessageReceived(RemoteMessage message)
    {

        Log("This is logged only first time when app is in background");

            //if the message does not contain a type then print out the message only
            if (String.IsNullOrEmpty(message.Data["type"]))
            {
                SendNotification(message.Data["message"], "MyApp");
                return;
            }

            string messageType = message.Data["type"];

            switch (messageType)
            {
                case "CheckUserGPS":
                  //checks the users gps and updates the user in server
                  .....
                    break;
            }

    }

1 Ответ

1 голос
/ 17 января 2020

В какой момент происходит сбой вашего приложения и какие службы вы используете для уведомлений. Некоторые из приведенных ниже ссылок могут вам помочь. 1. https://forums.xamarin.com/discussion/92877/android-app-crashes-after-receiving-push-notification 2. https://github.com/xamarin/Xamarin.Forms/issues/5339 3. Уведомление Xamarin Android Cra sh

...