Einzelnen Beitrag anzeigen

Anakond

Registriert seit: 13. Okt 2007
17 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