Ich habe eine App, die ich manchmal benutze. Ich muss es dort im Hintergrund gelassen haben, bevor ich geschlafen habe. Als ich aufwachte, sah ich diese Benachrichtigung auf meinem Bildschirm.
Hat jemand Vorschläge, wie ich eine solche Benachrichtigung mit meiner XF- Anwendung anzeigen kann ?
Werden diese Benachrichtigungen auch auf Android angezeigt? Ich habe sie noch nie auf meinem Android- Handy gesehen, aber das könnte daran liegen, dass ich sie viel weniger benutze.
Antworten:
Wir können das Shiny.Notifications NuGet-Paket verwenden , um plattformübergreifende lokale Benachrichtigungen in Xamarin.Forms zu erstellen
Beispiel App
Eine fertige Beispiel-App, die mit dem folgenden Code erstellt wurde, finden Sie hier: https://github.com/brminnick/LocalNotificationsSample
Exemplarische Vorgehensweise
1. Installieren Sie Shiny.Notifications
Fügen Sie das Shiny.Notifications NuGet-Paket zu Ihrem Xamarin.Forms-Projekt, Ihrem Xamarin.iOS-Projekt und Ihrem Xamarin.Android-Projekt hinzu.
2. Initialisieren Sie Shiny.Notifications
Android
Initialisieren Sie in der
[Application]
Klasse inOnCreate
Shiny durch AufrufenShiny.AndroidShinyHost.Init
und setzen Sie das Symbol durch Aufrufen vonShiny.Notifications.AndroidOptions.DefaultSmallIconResourceName
:In
MainActivity.cs
, inOnRequestPermission
erlauben Glänzendes heutige Anforderungsnachricht Berechtigungen von dem Benutzer durch HinzufügenShiny.AndroidShinyHost.OnRequestPermissionsResult(requestCode, permissions, grantResults);
iOS
Initialisieren Sie Shiny in
AppDelegate.cs
, inFinishedLaunching
, indem Sie Folgendes aufrufenShiny.iOSShinyHost.Init
:3. Planen Sie eine lokale Benachrichtigung
In diesem Beispiel senden wir sofort eine lokale Benachrichtigung und planen eine, die eine Minute nach dem Start der App gesendet wird
https://github.com/brminnick/LocalNotificationsSample
quelle
Shiny.Notifications
mit einem Vordergrunddienst arbeitet? Ich meine mit derStartForeground(int id, Android.App.Notification notification)
Methode, bei der die Benachrichtigung alsAndroid.App.Notification
?Sie können verwenden
Notifications
, um diese Funktion zu erreichen. Aus dem Dokument Lokale Benachrichtigungen in Xamarin.Forms finden wir:Sie können eine plattformübergreifende API definieren, mit der die Anwendung mit Benachrichtigungen interagieren kann.
Weitere Informationen finden Sie im obigen Dokument. Dieser Link enthält auch ein Beispiel zu Benachrichtigungen. Er sollte für Sie hilfreich sein.
Wenn Sie möchten, dass Ihre App eine Benachrichtigung sendet, wenn sich die App im Hintergrund befindet, können Sie natürlich Hintergrundaufgaben verwenden.
Weitere Informationen finden Sie unter:
https://xamarinhelp.com/xamarin-background-tasks/
https://docs.microsoft.com/zh-cn/xamarin/ios/app-fundamentals/backgrounding/
https://docs.microsoft.com/en-ie/xamarin/android/app-fundamentals/services/creating-a-service/
quelle