Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   NotificationCenter Berechtigungen (https://www.delphipraxis.net/194120-notificationcenter-berechtigungen.html)

greenmile 19. Okt 2017 10:08

NotificationCenter Berechtigungen
 
Hallo,

ich möchte in meiner App eine Benachrichtigung für den User so setzen, dass er nach 2 Tagen daran erinnert wird, die App doch mal wieder zu starten. Die Benachrichtigung wird dabei beim Start gelöscht und beim beenden gesetzt:

Code:
DecodeDateTime(Now, AYear, AMonth, ADay, AHour, AMinute, ASecond, AMSecond);

NotificationCenter1.CancelAll;

MyNotification := NotificationCenter1.CreateNotification;
MyNotification.Name     := 'MyApp_ComeBack';
MyNotification.AlertBody := 'Lust, mal wieder zu spielen?';
MyNotification.FireDate := IncDay(Date,2)+EncodeTime(AHour, AMinute, 0, 0);
NotificationCenter1.ScheduleNotification(MyNotification);
MyNotification.DisposeOf;
Das Problem: Die Benachrichtigung erscheint nie, selbst auf blanken Android's nicht, wo der User vielleicht was abgestellt hat. Benötige ich da noch zusätzliche Berechtigungen?
Es handelt sich um eine Android App, erstellt mit XE 10.1

DeddyH 19. Okt 2017 10:21

AW: NotificationCenter Berechtigungen
 
Geht es ohne das DisposeOf am Schluss?

greenmile 19. Okt 2017 10:36

AW: NotificationCenter Berechtigungen
 
Hmmm, kann mir nicht vorstellen, dass es daran liegt. DisposeOf ruft doch nur den Destruktor auf. Würde ja bedeuten, im Destruktor wird die Notification wieder gelöscht.

Zacherl 19. Okt 2017 10:38

AW: NotificationCenter Berechtigungen
 
Zitat:

Zitat von greenmile (Beitrag 1383646)
Hmmm, kann mir nicht vorstellen, dass es daran liegt. DisposeOf ruft doch nur den Destruktor auf. Würde ja bedeuten, im Destruktor wird die Notification wieder gelöscht.

Kann doch gut sein.

Delphi-Quellcode:
MyNotification := NotificationCenter1.CreateNotification
sieht nach klassischem Factory Pattern aus. Oft ist dann die Factory-Class auch der Owner des erzeugten Objekts und kümmert sich eigenständig um die Freigabe. Wenn du dann vorzeigtig "per Hand" freigibst, bereitet das entsprechend Probleme.

DeddyH 19. Okt 2017 10:46

AW: NotificationCenter Berechtigungen
 
Ich habe gerade mal nachgeschaut, im Prinzip mache ich das genauso wie Du (inkl. DisposeOf :)), bei mir funktioniert es.

greenmile 19. Okt 2017 10:57

AW: NotificationCenter Berechtigungen
 
Und Du wirst erinnert, auch wenn die App nicht läuft?

DeddyH 19. Okt 2017 11:01

AW: NotificationCenter Berechtigungen
 
Ich kann es gerade (unter Android) nicht testen, meine aber, dass ja. Eigentlich ist das ja auch der Sinn von Local Notifications, dass sie global abgelegt werden. Tippt man sie an, wird automatisch die entsprechende App gestartet bzw. in den Vordergrund geholt.

greenmile 19. Okt 2017 11:08

AW: NotificationCenter Berechtigungen
 
Ok, dann muss ich doch nochmal genauer schauen und testen. Danke erstmal.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:02 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz