German Hintergrundservice immer um 18:00 einmal ausfühhren

taunusbaer01

Member
Licensed User
Longtime User
Hallo an alle,

ich möchte jeden Tag um 18:00 einen Hintergrundservice einmal aufrufen und dann eine Aktion ausführen.

Starten ich zum ersten mal das App möchte ich das noch am selben Tag der Service um 18:00 startet. Starte ich das App nach 18:00 soll es erst am nächsten Tag starten.

Leider wird um 18:00 der Sevice mehrer Male ausgeführt obwohl ich die Startzeit neu definiert habe. :sign0085:
Kann mir eine meine Gedankenfehler erklären. Wäre echt supper.



Hier mein Quellcode

Sub Service_Start (StartingIntent As Intent)


Dim now As Long
now=DateTime.now
DateTime.DateFormat = ("dd.MM.yyyy")


If DateTime.GetHour(now) = 18 Then
If DateTime.GetMinute(now) = 00 Then
' Hier steht dann die Aktion die ausgeführt werden soll
Else
End If
Else
End If


' Startzeit festlegen
If DateTime.GetHour(now) < 18 Then
startzeit = DateTime.DateParse(DateTime.Date(DateTime.now))+(1000*60*60*18) 'Sets today at 18:00 AM
Else
startzeit = DateTime.DateParse(DateTime.Date(DateTime.now))+(1000*60*60*42) 'Sets today at 18:00 AM plus 24 Stunden für morgen
End If

StartServiceAt("", startzeit, False)

End Sub
 
Last edited:

taunusbaer01

Member
Licensed User
Longtime User
Lösung gefunden

Ich habe die Lösung selbst gefunden.

Der Hintergrundservice wurde nie beendet.
Nun warte ich 1 Sekunde und stoppe den Service dann.

Nach dem StartServiceAt habe ich noch folgende eingefügt.


Dim Ti As Long
Ti = DateTime.Now + (1000)
Do While DateTime.Now < Ti
DoEvents
Loop

StopService("")


Gruß Uwe
 
Last edited:
Top