AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Apps mit timer im Hintergrund lauft nicht korrekt.

Apps mit timer im Hintergrund lauft nicht korrekt.

Ein Thema von Anakond · begonnen am 24. Jun 2019 · letzter Beitrag vom 24. Jun 2019
Antwort Antwort
Anakond

Registriert seit: 13. Okt 2007
12 Beiträge
 
#1

Apps mit timer im Hintergrund lauft nicht korrekt.

  Alt 24. Jun 2019, 10:11
Delphi-Version: 10.2 Tokyo
Guten Morgen,

Ich benutze Firemonkey 10.2 und erfasse die Sensordaten (MotionSensor1.Sensor.AccelerationX)
in einem Zeitintervall, um die Daten zu Analysieren, um die später auf dem Ändroid Smartphone
Bildschirm anzeigen zu lassen.

Mein Problem ist, wenn der Benutzer das Gerät am USB-Kabel angeschlossen lässt
funktioniert alles einwandfrei.

Wenn das Gerät jedoch für eine Weile vom Stromnetz getrennt wird und der Bildschirm ausgeschaltet,
das Gerät wechselt in den Schlafmodus!

Dies schränkt den Zugriff auf die Anwendung ein und die abgelaufene Zeit ist nicht mehr korrekt.

Wie kann ich dieses Problem beheben?
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
   FDateTimeTo := now;
   iSecToken := 0;
   Timer1.Interval := 1000 ;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
var
 h, m, s : integer;
begin
      inc( iSecToken );

      h := iSecToken div 3600 ;
      m := iSecToken mod 3600 div 60 ;
      s := iSecToken mod 3600 mod 60 ;

      if s <> sOld :=
      begin
         sOld := s;
         AccX := MotionSensor1.Sensor.AccelerationX;
      end;

      if m <> mOld :=
      begin
         mOld := m;
         DrawAccX;
      end;

     Label1.text := Format('%2d:%2.2d:%2.2d', [h, m, s]);

end;

Es wäre gut die Daten jede Sekunde oder alle 10 Sekunden zu erfassen,
aber wenn nicht, ich würde auch ein Intervall von je Minute akzeptieren.

Welche Beispiel können Sie mir vorschlagen,
sehr vielen Dank für Ihre Hilfe.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.340 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#2

AW: Apps mit timer im Hintergrund lauft nicht korrekt.

  Alt 24. Jun 2019, 10:15
Dazu musst Du einen Dienst implementieren. Delphi bringt hierfür auch Beispiele mit.
Markus Kinzler
  Mit Zitat antworten Zitat
Anakond

Registriert seit: 13. Okt 2007
12 Beiträge
 
#3

AW: Apps mit timer im Hintergrund lauft nicht korrekt.

  Alt 24. Jun 2019, 10:50
Danke für deine Antwort, muss ich einen Dienst benutzen ... ?,
genügt es nicht die Apps gestartet zu lassen ?

Hast du ein link oder ein Delphi Beispiele zu deinem Vorschlag.
Sehr vielen Dank für deine Hilfe.
  Mit Zitat antworten Zitat
philipp.hofmann

Registriert seit: 21. Mär 2012
Ort: Hannover
103 Beiträge
 
Delphi 10.3 Rio
 
#4

AW: Apps mit timer im Hintergrund lauft nicht korrekt.

  Alt 24. Jun 2019, 10:52
Mit angehängter Unit kannst Du verhindern, dass das Android-Device in den Wake-Modus geht und somit die App aktiv bleibt.
Delphi-Quellcode:
    if (activate) then
      Acquire_PARTIAL_WAKE_LOCK
    else
      ReleaseWakeLock;
Dies macht aber nur Sinn, wenn die App nur in einem begrenzten Zeitraum läuft und nicht rund um die Uhr.
Mit einem Dienst, wie von Markus vergeschlagen, wirst Du das Thema ressourcen-schonender umgesetzt bekommen, dass ist die saubere Lösung und v.a. die Rund-um-die-Uhr-Variante.
Angehängte Dateien
Dateityp: pas AndroidPowerManagement.pas (4,1 KB, 5x aufgerufen)
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.340 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#5

AW: Apps mit timer im Hintergrund lauft nicht korrekt.

  Alt 24. Jun 2019, 11:10
Danke für deine Antwort, muss ich einen Dienst benutzen ... ?,
genügt es nicht die Apps gestartet zu lassen ?

Hast du ein link oder ein Delphi Beispiele zu deinem Vorschlag.
Sehr vielen Dank für deine Hilfe.
Wie oben geschrieben, beinhaltet Delphi Beipiele für Dienste.

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

http://docwiki.embarcadero.com/RADSt...droid_Services
Markus Kinzler
  Mit Zitat antworten Zitat
Anakond

Registriert seit: 13. Okt 2007
12 Beiträge
 
#6

AW: Apps mit timer im Hintergrund lauft nicht korrekt.

  Alt 24. Jun 2019, 11:40
Sehr vielen Dank für die Infos, ich werden das alles testen.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:56 Uhr.
Powered by vBulletin® Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2019 by Daniel R. Wolf