Xamarin, как я могу получить все системные уведомления? - PullRequest
0 голосов
/ 21 сентября 2018

Я новичок здесь.Я разрабатываю приложение, которое использует карты Google, когда я нажимаю кнопку FAT.Так как на данный момент Google Maps не указывает, когда вы закончили навигацию, и поэтому для возможности вернуться в мое приложение, я пытаюсь сделать это каким-то образом.Я думал, и Google Maps, когда вы находитесь в режиме навигации, он показывает вам уведомление.Пока навигация не закончена, она не удаляется.Я хотел получить это уведомление, и когда моя кнопка была нажата, проверьте, активно ли уведомление.Если он не активен, я могу вернуться к своему заявлению.Вот что я пытался сделать:

 NotificationManager notificationManager =
          GetSystemService(Context.NotificationService) as NotificationManager;

                            StatusBarNotification[] nnn2 = notificationManager.GetActiveNotifications();

Когда я проверяю nnn2, чтобы увидеть, какие службы активны, у него ничего нет.Я не знаю, нужно ли мне добавить некоторые разрешения в манифест, или я совершенно не прав.

1 Ответ

0 голосов
/ 24 сентября 2018

Это возможно и может быть сделано примерно так:

Для уровней ниже API 11:

 Notification notify = new Notification();
            notify.Defaults = NotificationDefaults.Sound;
            notify.Defaults = NotificationDefaults.Vibrate;
            notify.Flags = NotificationFlags.NoClear;// Cruicial line of code 

Для API 11 и выше:

 Notification notify = new Notification();
            notify.Defaults = NotificationDefaults.Sound;
            notify.Defaults = NotificationDefaults.Vibrate;
            notify.Flags = NotificationFlags.NoClear;

 NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this)
             .SetSmallIcon(Resource.Drawable.Icon)
             .SetContentTitle(messageTitle)
             .SetContentText(messageBody)
             .SetOngoing(true)//Important line of code
             .SetContentIntent(pendingIntent);
 NotificationManagerCompat notificationManager = NotificationManagerCompat.From(this);
            notificationManager.Notify(0, notificationBuilder.Build());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...