C
cramu
Dauer-User
- 312
Nachdem ich morgens den Wecker deaktiviert habe, möchte ich mir gern alle Geburtstage und Termine des Tages in der Benachrichtigungsleiste anzeigen lassen.
Der erste Teil mit den Geburtstagen klappt bereits einigermaßen:
Ich lese per AutoContacts die Kontaktdaten aus und erhalte dann eine Benachrichtigung nach dem Schema 'Max Mustermann wird heute 33 Jahre alt'.
Optional könnte ich noch Actionbuttons hinzufügen, um den Max anzurufen oder ihm eine (vordefinierte) SMS zu schicken.
Das Problem hierbei ist aber, dass AutoContacts nur Variablen für den ersten Kontakt ausgibt der Geburtstag hat, sollte es also noch ein zweites oder drittes Geburtstagskind geben, ist die Chance hoch, dass es vergessen wird.
Meine Idee wäre nun, die Daten, welche AutoContacts ermittelt, in einer Datei zu speichern, auf welche der Tasker dann zugreift um daraufhin alle Geburtstage des Tages in der Benachrichtigung anzuzeigen.
Leider habe ich nur keine Idee, wie ich das realisieren kann.
Ich hab den Task mal gespoilert (relevant sind hier A11 - A14), vielleicht arbeitet ja noch jemand mit AC und kann mir den entscheidenden Hinweis geben?
Den Part mit dem Terminen finde ich noch ungleich schwieriger:
Dank eines Beitrags von @Erebos im Homescreen-Thread scheint es mir am sinnvollsten, die Datenbank der Kalenderapp auszulesen, die Daten nach Kalender und Datum zu filtern und die Ergebnisse für die Benachrichtigung zu nutzen.
Da ich mich mit diesen Datenbankgeschichten bisher aber noch nicht auseinandergesetzt habe, wäre ich auch hier für eine kleine Starthilfe dankbar!
Der erste Teil mit den Geburtstagen klappt bereits einigermaßen:
Ich lese per AutoContacts die Kontaktdaten aus und erhalte dann eine Benachrichtigung nach dem Schema 'Max Mustermann wird heute 33 Jahre alt'.
Optional könnte ich noch Actionbuttons hinzufügen, um den Max anzurufen oder ihm eine (vordefinierte) SMS zu schicken.
Das Problem hierbei ist aber, dass AutoContacts nur Variablen für den ersten Kontakt ausgibt der Geburtstag hat, sollte es also noch ein zweites oder drittes Geburtstagskind geben, ist die Chance hoch, dass es vergessen wird.
Meine Idee wäre nun, die Daten, welche AutoContacts ermittelt, in einer Datei zu speichern, auf welche der Tasker dann zugreift um daraufhin alle Geburtstage des Tages in der Benachrichtigung anzuzeigen.
Leider habe ich nur keine Idee, wie ich das realisieren kann.
Ich hab den Task mal gespoilert (relevant sind hier A11 - A14), vielleicht arbeitet ja noch jemand mit AC und kann mir den entscheidenden Hinweis geben?
Code:
Task: Schlafmodus deaktivieren (23)
A1: AutoAlarm [ Configuration:No configuration needed Package:com.joaomgcd.autoalarm Name:AutoAlarm Timeout (Seconds):5 Continue Task After Error:On ]
A2: Variable Set [ Name:%Minuten To:%minutes Do Maths:Off Append:Off ]
A3: Variable Split [ Name:%Minuten Splitter:, Delete Base:Off ]
A4: If [ %Minuten1 < 11 ]
A5: Say [ Text:Schlummern bis %hour Uhr %minute . Engine:Voice:default:default Stream:5 Pitch:5 Speed:5 Respect Audio Focus:On Continue Task Immediately:On Continue Task After Error:On ]
A6: Else
A7: Perform Task [ Name:Zeitansage Stop:Off Priority:5 Parameter 1 (%par1): Parameter 2 (%par2): Return Value Variable: ]
A8: If [ %SCHLAFMODUS ~ 1 ]
A9: Variable Set [ Name:%SCHLAFMODUS To:0 Do Maths:Off Append:Off ]
A10: Send Intent [ Action:com.rageconsulting.android.lightflow.SLEEP_OFF Cat:None Mime Type: Data: Extra: Extra: Package: Class: Target:Broadcast Receiver Continue Task After Error:On ]
A11: AutoContacts [ Configuration:Refresh: true
Order By: Next Event Date Package:com.joaomgcd.autocontacts Name:AutoContacts Timeout (Seconds):1000 Continue Task After Error:On ]
A12: Variable Set [ Name:%Tage To:%acdaystoevent Do Maths:Off Append:Off ]
A13: Variable Split [ Name:%Tage Splitter:, Delete Base:Off ]
A14: AutoNotification [ Configuration:Title: Geburtstag
Text: %acname wird heute %acyearssinceevent Jahre alt.
Icon: %acpicturefile
Status Bar Icon: content_event Package:com.joaomgcd.autonotification Name:AutoNotification Timeout (Seconds):0 Continue Task After Error:On ] If [ %Tage1 ~ 0 ]
A15: Secure Settings [ Configuration:Airplane Mode Disabled Package:com.intangibleobject.securesettings.plugin Name:Secure Settings Timeout (Seconds):0 Continue Task After Error:On ]
A16: End If
A17: End If
A18: Alarm Volume [ Level:1 Display:Off Sound:Off ] If [ %WLAN ~ 1 ]
A19: gReader [ Configuration:SYNCHRONIZE | Alle Artikel Package:com.noinnion.android.greader.reader Name:gReader Timeout (Seconds):0 Continue Task After Error:On ]
Den Part mit dem Terminen finde ich noch ungleich schwieriger:
Dank eines Beitrags von @Erebos im Homescreen-Thread scheint es mir am sinnvollsten, die Datenbank der Kalenderapp auszulesen, die Daten nach Kalender und Datum zu filtern und die Ergebnisse für die Benachrichtigung zu nutzen.
Da ich mich mit diesen Datenbankgeschichten bisher aber noch nicht auseinandergesetzt habe, wäre ich auch hier für eine kleine Starthilfe dankbar!