#Region Module Attributes
#StartAtBoot: false
'#StartAtBoot: True
'#StartCommandReturnValue: android.app.Service.START_STICKY
#End Region
Sub Process_Globals
Dim Cursor2 As Cursor 'Zeiger benennen
Dim SQL2 As SQL
Dim timer1 As Timer
Dim Erinnerung, Titel, Selector, ID, TerminStart, MitTon As String
Dim TerminInfo1 As String
Dim MpM As MediaPlayer
End Sub
Sub Service_Create
End Sub
Sub Service_Start
timer1.Initialize("timer1",10000) ' 1000 = 1 Sekunde
timer1.Enabled=True
MpM.Initialize
MpM.Load(File.DirAssets, "notification-top.wav") 'Grundsätzlich in Kleinbuchstaben
'MpM.Looping = True
'MpM.SetVolume(1, 1)
End Sub
Sub Service_Destroy
'StopService("") 'Stop this service
'CancelScheduledService("") 'Cancel this service
'NotiWecker.Cancel(1) 'Lösche das Wecker Icon
'MpM.Stop
End Sub
Sub timer1_tick
'Termine Einlesen ##########################################################################
DateTime.DateFormat = "dd.MM.yyyy" 'Datumsformat
DateTime.TimeFormat = "HH:mm" 'Zeitformat
MitTon = ""
Selector = ""
TerminStart = ""
SQL2.Initialize(File.DirInternal, "termin.db", True)'Datenbank Verzeichnissangabe
Cursor2 = SQL2.ExecQuery("Select * FROM termin WHERE DatumVon = '" & DateTime.Date(DateTime.Now) & "'" & " ORDER BY TerminStart, ErinnerungVorherZeit ASC")
If Cursor2.RowCount > 0 Then 'Sind Datensätze vorhanden?
Cursor2.Position = 0'Zeiger auf den ersten sortierten Eintrag
TerminStart = Cursor2.GetString("TerminStart")
Log("Datum " & DateTime.Date(DateTime.Now))
Log("TerminStart " & TerminStart)
Log("Datum " & DateTime.Date(DateTime.Now))
Log("Aktuelle Zeit " & DateTime.Time(DateTime.now))
Log ("Alarmzeit " & Cursor2.GetString("ErinnerungVorherZeit"))
If TerminStart = "0" Then 'Ist der Termin noch nicht gestartet
'Alarmzeit überprüfung
Dim SZeit, AZeit As Long
SZeit = DateTime.Now' + (50 * DateTime.TicksPerSecond) ' + 1 Minute wegen dem Timer Interwall von 1 Minute
AZeit = DateTime.TimeParse(Cursor2.GetString("ErinnerungVorherZeit"))
Log("Überprüfe jetzt die Alarmzeiten")
Log("Aktuelle Pars Zeit " & SZeit)
Log(" Alarm Parse Zeit " & AZeit)
If SZeit >= AZeit Then 'Alarm Anschalten wenn die Zeit erreicht wurde
'Variabel Zuordnung
Erinnerung = Cursor2.GetString("ZeitVon")
Titel = Cursor2.GetString("Titel")
ID = Cursor2.GetString("ID")
Selector = Cursor2.GetString("Erinnerung")
'Termin Sperren um doppelten Aufruf zu verhindern
Dim Mp, mp1 As Map
Mp.Initialize
Mp.Put("ID", ID)
mp1.Initialize
mp1.Put("TerminStart", "1")
DBUtils.UpdateRecord2(SQL2, "termin", mp1, Mp)
'Infos übergeben
TerminInfo1 = "Termin, von - bis:" & CRLF & CRLF
TerminInfo1 = TerminInfo1 & Cursor2.GetString("DatumVon") & " - " & Cursor2.GetString("ZeitVon") & " Uhr" & CRLF
TerminInfo1 = TerminInfo1 & Cursor2.GetString("DatumBis") & " - " & Cursor2.GetString("ZeitBis") & " Uhr" & CRLF
TerminInfo1 = TerminInfo1 & "---------------------------------------------" & CRLF
TerminInfo1 = TerminInfo1 & "Titel / Kurzinfo: " & CRLF & CRLF
TerminInfo1 = TerminInfo1 & Cursor2.GetString("Titel") & CRLF
TerminInfo1 = TerminInfo1 & "---------------------------------------------" & CRLF
TerminInfo1 = TerminInfo1 & "Adressdaten:" & CRLF & CRLF
TerminInfo1 = TerminInfo1 & Cursor2.GetString("Name") & CRLF
TerminInfo1 = TerminInfo1 & Cursor2.GetString("Strasse") & CRLF
TerminInfo1 = TerminInfo1 & Cursor2.GetString("Plz") & " "
TerminInfo1 = TerminInfo1 & Cursor2.GetString("Ort") & CRLF
TerminInfo1 = TerminInfo1 & "---------------------------------------------" & CRLF
TerminInfo1 = TerminInfo1 & "Telefon / Handy:" & CRLF
TerminInfo1 = TerminInfo1 & Cursor2.GetString("Telefon") & CRLF
TerminInfo1 = TerminInfo1 & "---------------------------------------------" & CRLF
TerminInfo1 = TerminInfo1 & "Notizen:" & CRLF & CRLF & Cursor2.GetString("Notiz")
'Bei 1 aufrufen sonst Stumm bleiben
If Selector = "1" Then
MitTon = "1"
Else
MitTon = ""
End If
Dim NotiWecker As Notification
NotiWecker.Initialize
If MitTon = "1" Then
MpM.Play
End If
NotiWecker.Vibrate = True 'Vibrieren an
NotiWecker.Light = False
NotiWecker.OnGoingEvent = True
NotiWecker.Icon = "weckeron"
NotiWecker.SetInfo(Titel, "Termin um " & Erinnerung & " Uhr", TermineStop) 'TermineStop = Welche Sub
NotiWecker.Notify(1)
'StartServiceAt(AutoAlarm, Auswahlzeit,True)
End If
End If
SQL2.Close
Else
'ToastMessageShow("Heute kein Termin mehr!", False)
SQL2.Close
End If
End Sub