Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   FMX.Android Notification Service (https://www.delphipraxis.net/201289-fmx-android-notification-service.html)

erich.wanker 8. Jul 2019 13:06

FMX.Android Notification Service
 
Hallo,

Win10/Delphi 10.2 Tokyo

Ich würde gerne eine App schreiben, die im Hintergrund läuft.


Funktion der App:

Einstellungs-Möglichkeiten:
User-ID
Zeitintervall
Webserver-Adresse

Ablauf:
Service wird beim starten des Handys aktiviert.
Alle x Min. auf die Adresse zugreifen: http://www.meine_domain.at/meine_ben....php?user_id=2

Wenn der Empfangene Text <> 0 ist .. dann am Handy den Notifikation-Ton erklingen und erstelle eine Notifikation mit dem empfangenen Text. - auch wenn das Handy unbenutzt neben mir am Schreibtisch liegt (also so wie Whatsapp und Co. das machen)


MEINE FRAGEN:
Gibt es da irgendein EXAMPLE .. oder Democode .. oder Codeschnippsel?
Brauch ich da 2 Apps (1 mal den Service - 1 mal die App für einstellungen und co)?
Zum kommunizieren mit dem PHP file - kann man die Indy -Componenten benutzen?
Wie erstelle ich dann einen Benachrichtigungston und eine Notifikation?


P.S.:
Mir ist die Problematik wohl bewusst, das Google sowas unterbinden will - dafür Firebase da ist .. und das es div. Anbieter für diese Art von Lösungen gibt ..
Akkuleistung wird reduziert..
Internet wird verwendet ..

mkinzler 8. Jul 2019 13:24

AW: FMX.Android Notification Service
 
Am Besten per Hintergrundservice.

erich.wanker 8. Jul 2019 14:25

AW: FMX.Android Notification Service
 
Hi mkinzler ..

Danke für deinen Feedback.

Mir ist leider nicht ganz klar wie das ganze funktionieren soll....

Ich brauch ja eine "normale" Android app" - wo ich die einstellungen abspeichern kann ( in ein txt file?)

Funktioniert das auf Android:
memo1.lines.clear;
memo1.lines.append('[Settings]');
memo1.lines.append('UserID='+ wert vom editfeld);
memo1.lines.append('Intervall='+ wert vom editfeld);
memo1.lines.append('Serveradresse='+ wert vom editfeld);
Memo.Lines.SaveToFile(GetHomePath + '/config_fuer_service.txt');

Ich brauch einen Hintergrundservice, der die werte vom textfile für die kommunikation verwendet

Würde sowas gehen?
var
Ini: TIniFile;
begin
Ini := TIniFile.Create(GetHomePath + '/config_fuer_service.txt');
try
UserID:= Ini.ReadInteger( 'Settings', 'UserID', 0 );
...
finally
Ini.Free;


Welche Komponente verwende ich für die Kommunikation mit dem PHP ? .. funktioniert Indy im Android?


kann der hintergrudservice eine "notification" erzeugen?

würde etwas wie folgt in einem Service funktionieren?

var
MyNotification: TNotification;
begin
if php response <> '' then
MyNotification := NotificationCenter1.CreateNotification;
try
MyNotification.Name := 'Notification';
MyNotification.Title := 'Meine erste Nachricht';
MyNotification.AlertBody := 'Service zeigt Notification';
MyNotification.FireDate := Now;
NotificationCenter1.PresentNotification(MyNotifica tion);
finally
MyNotification.Free;
end;
end;
end;



Vielen Dank für Hinweise

mkinzler 8. Jul 2019 14:30

AW: FMX.Android Notification Service
 
Eien Service-App besteht aus 2 Teilen. Dem eigentlichen Service und der App. Beispiele gibt es bei dem Samples.

Diese sollte sogar in etwa das Können, was Du Dir vorstellst

<LW:>\Users\Public\Documents\Embarcadero\Studio\20 .0\Samples\Object Pascal\Multi-Device Samples\Device Sensors and Services\AndroidNotificationServiceDemo

Mavarik 8. Jul 2019 15:23

AW: FMX.Android Notification Service
 
Zitat:

Zitat von erich.wanker (Beitrag 1436311)
Welche Komponente verwende ich für die Kommunikation mit dem PHP ? .. funktioniert Indy im Android?

Einfach die native HTTP(s) Komponente und dann einen Get auf die URL.

Das pollen schlecht ist, ist die ja bewusst, daher gehe ich darauf nicht ein, aber Pushnachrichten zu versenden ist kein so großer akt!

Mavarik


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:17 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