![]() |
NotificationCenter und deren Funktion
Hi,
ich experimentiere grad ein wenig mit dem TNotificationCenter rum und stosse dabei auf folgende Probleme: Basiscode sieht so aus (direkt aus der Demo geholt):
Delphi-Quellcode:
Soweit funktionierts auch, die Nachricht wird sofort angezeigt.
var
MyNotification: TNotification; begin MyNotification := NotificationCenter1.CreateNotification; try MyNotification.Name := 'Windows Notification'; MyNotification.Title := 'My first Notification'; MyNotification.AlertBody := 'Notification send by my application.'; MyNotification.FireDate := Now()+EncodeTime(0,0,10,0); NotificationCenter1.PresentNotification(MyNotification); finally MyNotification.Free; end; end; mach ich nun aus
Delphi-Quellcode:
NotificationCenter1.PresentNotification(MyNotification);
Delphi-Quellcode:
wars das. Die Nachricht wird nicht angezeigt (nach 10 Sekunden sollte sie das eigentlich).
NotificationCenter1.ScheduleNotification(MyNotification);
Auch einen eigenen Sound bekomme ich nicht ans laufen, obwohl ich mich hier an diese Tut gehalten hab: ![]() Weder mit mp3 noch mit wav, egal was ich für einen Pfad angebe..... Hat jemand hier evtl. den ein oder anderen Tip ? |
AW: NotificationCenter und deren Funktion
Moin...:P
Zitat:
Zeig mal den kompletten Zusammenhang... |
AW: NotificationCenter und deren Funktion
Zitat:
Delphi-Quellcode:
MyNotification.Free;
Daran hätte ich auch als Erstes gedacht. Einfach mal nicht löschen und schauen was passiert. |
AW: NotificationCenter und deren Funktion
In der Dokumentation habe ich nichts finden können, wie mit der Freigabe der Objekte umgegangen wird. :roll: Im Emba Beispiel wird die Notification (PresentNotification) weggeräumt.
Gefühlt sollte sich die NotificationCenter Liste selbst um die Freigabe kümmern. :roll: |
AW: NotificationCenter und deren Funktion
Es kommt halt drauf an.
Wird das auch bei Windows deregistriert, wenn man das Objekt löscht, dann ist es ja wieder weg und kann nicht mehr angezeigt werden. Es wäre ja auch praktisch, wenn man weiterhin eine Verbindung zum Windows hat, um die Notification abbrechen zu können, wenn man sie dann doch nicht mehr anzeigen will. Würde dagegen durch ScheduleNotification in Windows nur ein neuer Eintrag (Kopie ) gemacht und der wird nicht gelöscht/entfernt/Cancel/..., wenn man das Objekt freigibt, dann kann man das Free auch machen. Drum ja einfach mal ausprobieren, ob es schon hilft, wenn man nicht löscht. Das
Delphi-Quellcode:
ist schonmal kein TComponent.Name ? (wegen dem Leerzeichen, was da nicht erlaubt wäre)
MyNotification.Name := 'Windows Notification';
Da könnte man nun auf die Idee kommen, dass es sowas wie eine ID sein könnte, mit der man später nochmal drauf zugreifen könnte, wenn man das Objekt zwischendurch gelöscht hätte und ein Neues erstellt. :gruebel: |
AW: NotificationCenter und deren Funktion
Im Emba FMX Beispiel wird auch beim Schedule das Objekt weggeräumt (über die Referenzzählung)...
Delphi-Quellcode:
...dann ich bin hier leider raus. :?
procedure TNotificationsForm.btnSendScheduledNotificationClick(Sender: TObject);
var Notification: TNotification; begin { verify if the service is actually supported } Notification := NotificationC.CreateNotification; try Notification.Name := 'MyNotification'; Notification.AlertBody := 'Delphi for Mobile is here!'; { Fired in 10 second } Notification.FireDate := Now + EncodeTime(0,0,10,0); { Send notification in Notification Center } NotificationC.ScheduleNotification(Notification); finally Notification.DisposeOf; end; end; |
AW: NotificationCenter und deren Funktion
Möglichkeit 1: Du schaust in den Quelltext und siehst dass du mit
Delphi-Quellcode:
nur eine leere Methode aufrufst.
ScheduleNotification(..)
Möglichkeit 2: Du schaust ![]() Über die WinRT-API sollte es aber gehen. |
AW: NotificationCenter und deren Funktion
Ob ich das nu freigebe oder nicht, spielt überhaupt keine Rolle. Es wird schlicht nicht angezeigt.
Der Name der Notification ist in der Tat eine Art ID. Sie wird benötigt, wenn man das ganze über Cancel wieder ansprechen will. Hab inzwischen weiter geforscht und eine Platform-Übersicht gefunden. Was soll ich sagen, das ganze (also Shedule usw.) wird unter Windows nicht unterstützt. :( |
AW: NotificationCenter und deren Funktion
Man stelle sich mal vor wie die Fehlersuche verlaufen würde, käme jemand auf die irrsinnige Idee in einer nichtfunktionierenden Methode auch eine passende Fehlerbehandlung auszulösen. :roll:
|
AW: NotificationCenter und deren Funktion
Naja...man hät durchaus mal eine Fehlermeldung implementieren können. Dann weiß man zumindest das was panne läuft, aber so gar keine Reaktion......
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:48 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz