Android: Kalender einfach sichtbar/unsichtbar schalten mit Calendar Groups

Wer mehere Kalender mit seinem Android-Device abonniert hat, kennt vielleicht das Problem: Es ist je nach Kalender-App mehr oder weniger umständlich, sich nur die Termine aus bestimmten Kalendern anzeigen zu lassen, etwa um einen besseren Überblick über die Eintragungen in diesen Kalendern zu erhalten.

Man kann auch nicht einfach zwei verschiedene Kalender-Apps parallel installieren und diese anweisen, jeweils unterschiedliche Kalender anzuzeigen, da die Kalender vom System verwaltet werden und auch die Eigenschaft „sichtbar“ oder „nicht sichtbar“ nur systemweit festgelegt werden kann.

Um hier wenigstens ein bisschen Abhilfe zu schaffen, habe ich mal wieder meine unglaublich umfangreichen Programmiererskills wüten lassen. Das Ergebnis ist ein Workaround, den ich an dieser Stelle mit euch teilen möchte.

Die App „Calendar Groups“ erlaubt es, Shortcuts auf dem Homescreen anzulegen, die mit einem Klick bestimmte Kalender systemweit sichtbar bzw. unsichtbar schalten. Anschließend kann auf Wunsch auch direkt die Lieblings-Kalenderapp starten, sodass die Illusion entsteht, man könne die Kalender-App in mehreren unterschiedlichen Konfigurationen (was die Sichtbarkeit von Kalendern angeht) betreiben. Da Calendar Groups die Einstellungen systemweit ändern muss, sind auch Kalender-Widgets von der Änderung betroffen. Auch die Benachrichtigungen/Erinnerungen von unsichtbar geschalteten Kalendern werden nicht mehr angezeigt.

Nicht verstanden? Egal, die Screenshots machen es vielleicht eher deutlich:

Die App spricht Deutsch und Englisch, je nach Systemsprache. Android ≥ 4.0 ist erforderlich, vor 4.0 war die Kalender-API anders.

Überzeugt? Download: CalendarGroups 2 (CalendarGroups2.apk, Juli 2016)

Jetzt auch kompatibel mit Android 6. Benutzer einer älteren Version sollten diese zunächst deinstallieren.

Den Sourcecode findet ihr jetzt auch auf Github.

29 Kommentare

    • Hey Flo,

      kannst Du „funktioniert nicht mehr“ etwas konkretisieren? Gibt es eine Fehlermeldung oder einfach einen Force-Close? Was für ein Gerät (Hersteller, Modell) hast du? Benutzt du das originale ROM des Herstellers oder ein anderes wie CyanogenMod? Von welcher Android-Version wurde auf welche geupdated?

      Fragen über Fragen 😉 – aber ein paar mehr Infos brauche ich schon, um vielleicht etwas machen zu können. Ich benutze mittlerweile Business Calendar 2, wo es für die Kalender einzelne Schaltflächen gibt, um sie ein- und auszublenden. Vielleicht ist das ja auch was für dich. Wenn ich den Fehler in CalendarGroups aber finden kann, werde ich ihn trotzdem fixen, wenn es nicht zu viel Aufwand bereitet.

      Grüße
      Till

    • Okay, ich glaube, ich habe den Bug auch so gefunden.

      Hier findest du eine aktualisierte APK: CalendarGroups-11.apk.

      Ich würde mich freuen, wenn du sie runterladen und ausprobieren könntest, und mir dann noch ein kurzes Feedback („funktioniert“ oder „funktioniert nicht“) geben könntest. Wenn die App bei dir dann wieder funktioniert, werde ich die neue Version auch oben im Blogpost verlinken und das Github-Repo updaten.

      Grüße
      Till

  1. Hi Till,

    habs grad probiert und funktioniert wieder wunderbar. Noch zur Info: Ich hab ein Galaxy S5 und Samsung hat die letzten Tage auf Android 5 upgedatet. Es war ein Forced Close. Sonst ist alles original.

    Vielen Dank auch für den Tipp mit dem Business Calendar 2 – super, dass man dort umschalten kann. Hab ihn schon installiert und werde gleich noch ein wenig damit rumspielen. Bisher hattte ich den aCalendar, da dieser eine super Aufteilung besitzt aber leider nicht umschalten kann.

    Vielen Dank für die schnelle Hilfe

    Gruss

    Flo

    • Immer gerne 🙂 Danke auch für dein Feedback, ich werde die neue Version dann gleich mal oben im Beitrag verlinken.

      Ehrlich gesagt hatte ich gar nicht damit gerechnet, dass noch jemand diese App benutzt. Wie gesagt, ich selbst benutze sie schon nicht mehr, daher habe ich auch gar nicht mitbekommen, dass sie seit Android 5 nicht mehr funktionierte. Mein Nexus 4 hat schließlich auch schon lange sein Lollipop-Update drauf. Downloadzahlen (und auch Seitenaufrufe etc.) zähle ich hier nicht, ich habe also keine Ahnung, wie viele Leute sich meinen Kram hier anschauen. Aber das motiviert mich natürlich, auch künftige Projekte einfach hier zu veröffentlichen. Scheinbar stoßen die Leute ja tatsächlich darauf.

      Grüße
      Till

  2. Hallo Till!

    Also ich finde diese systemweite Verwaltung der Sichtbarkeit der Kalender ist eindeutig mehr Bug als Feature. Klar, inspiriert von „soll alles schön einfach und einheitlich sein, damit der Doofmann nicht verwirrt ist, dass er in der einen Kalender-App was anderes sieht als in der anderen“, aber wenn man dann mal individuellere Anforderungen hat, ist das wie immer äußerst banane. Nach meiner Logik ist die Kalender-App das Tool zum Anzeigen der Kalender also steuert sie auch individuell was SIE anzeigt. Aber ich bin auch altmodisch in manchen Dingen.

    Soll heissen: Ich finde deine App ist noch hoch aktuell! Ich habe z.B. meine privaten Kalender, ausserdem jedoch noch einen Strauß freigegebene Kalender von Kollegen. Das sind mehr als man mal eben mit einem Klick an und abschaltet (über die normalen Kalender-Apps, auch wenns einfach mit einem Klick oder Swipe geht in den jeweiligen Dialog zum De/aktivieren zu kommen). Daher ist deine App eine super Möglichkeit quasi zwischen Business- und Privat-Modus hin und her zu schalten und sogar gemischt mit Privat und nur den wichtigsten beruflichen Kalendern, z.B. dem eigenen.

    Bei mir schien die App erst nicht zu funktionieren, das lag aber nicht an Marshmallow oder meinem OmniRom sondern am Apex-Launcher. Der hat zwei Möglichkeiten ein Widget zu platzieren 1) auf einem Screen lange drücken und dort „Widgets“ auswählen und dann da das Widget und 2) im App-Drawer nach den Apps kommen die Widgets und dort eins auswählen.
    Variante 1) war schon immer etwas rudimentär, zeigt keine Vorschau des Widgets und zeigt nicht alle an – ist aber die Variante die am schnellsten geht. Nur ist sie auch die die dein Widget nicht anzeigt. Aber über Variante 2) geht es. Das als Hinweis an alle die vielleicht ein ähnliches Problem haben (und vielleicht einen anderen Launcher verwenden -> kann am Launcher liegen).

    Du nutzt ja deine App selbst nicht mehr und spekulierst über das Interesse, also ich glaube wenn du die in den PlayStore schmeisst und man sich eine vernünftige Beschreibung dessen was sie tut und welches Problem sie löst einfallen lässt, damit sie auch gefunden wird, dann besteht da durchaus Interesse im Rest der Welt.
    Vielleicht noch einen eindeutigeren Namen „CalendarViewSwitcher“, „VisibleCalendarsSwitcher“, „ActiveCalendarsSwitcher“, „OneClickCalendarsVisibility“ oder sowas.

    Also von mir vielen Dank für die App!
    Wie du siehst läuft sie also noch unter Android 6.0.1.

    Hatti

    • Hallo Hatti,

      danke für das Feedback. Freut mich, dass die App nützlich für dich ist! 🙂

      Ich stimme dir völlig zu: die Sichtbarkeiten systemweit zu verwalten ist in der Tat etwas unglücklich. Die Kalender selbst systemweit, also mehr oder weniger „zentral“ vom OS verwalten zu lassen, macht schon Sinn, da die einzelnen Kalender-Apps sich nicht um das synchron-halten kümmern müssen, was im Zweifel den Akku schont. Nur das Sichtbarkeitsattribut hätte man davon eben ausklammern sollen.

      Zu dem Widget-Ding: Ja, Android unterscheidet etwas kontraintuitiv zwischen „echten“ Widgets, wo man als Programmierer viele Freiheiten in Sachen Gestaltung und Größe hat, und bloßen Verknüpfungen, die halt einfach ein Icon mit Beschreibungstext sind und deine App mit bestimmten Parametern aufrufen. CalendarGroups verwendet Verknüpfungen. Manche Launcher werfen das beides in einen Hut, manche trennen das.

      Über eine Veröffentlichung im Play Store hatte ich auch schon einmal nachgedacht, aber das ist halt erst einmal Verwaltungsaufwand. Ich muss mal schauen, wie da das Vorgehen ist, welchen Anteil meiner Seele ich dafür verkaufen müsste und was das aktuell kostet (bis vor Kurzem nahm Google jedenfalls noch eine kleine „Eintrittsgebühr“ pro Entwickler, wenn ich mich recht entsinne). Mal sehen.

      • Hallo Werner,

        ja, das scheint ein Bug zu sein. Hatti hatte mir inzwischen auch schon davon berichtet, bei ihm trat es sogar ohne Neustart nach ein paar Stunden auf. 🙁
        Ich hoffe, dass ich in der nächsten Woche endlich mal dazu komme, mir das anzusehen.

        Schöne Grüße
        Till

      • So, ich denke, dass ich dem Problem mit dem Gedächtnisverlust beim Neustart jetzt auf die Spur gekommen bin. Das Problem war, dass ich die Liste der anzuzeigenden Kalender mit der Home Screen-Verknüpfung als Array, also als Liste, gespeichert hatte. Diese Arrays werden beim Neustart aber wohl weggeworfen, was leider nicht sonderlich gut dokumentiert ist – jedenfalls war mir das so nicht bewusst. Daher speichere ich die Liste jetzt (speziell codiert) in einer einzigen Zeichenkette – diese sollte dann auch über einen Neustart hinweg erhalten bleiben.

        Außerdem habe ich bei der Gelegenheit noch einige kleine Anpassungen vorgenommen, die wegen Neuerungen im Umgang mit Berechtigungen ab Android 6 nötig wurden.

        Ich würde mich freuen, wenn du die überarbeitete Version mal ausprobieren könntest:

        Dazu bitte zuvor die alte Version über Einstellungen → Apps deinstallieren und dann diese APK installieren. Wenn es bei dir dann auch läuft (ich selbst habe es auf meinem Nexus 4 und im Emulator auf dem PC erfolgreich testen können), würde ich die neue APK dann auch oben im Beitrag verlinken.

        Grüße,
        Till

  3. Vielen Dank für deine App! Genau was ich gesucht hab um zwischen meinem Uniplan und den normalen Terminen ohne viel Schnickschnack wechseln zu können.

    Läuft bei mir unter Android 7 auf einem S7 Edge problemlos.

    MfG Nicolas

  4. Hallo Till,

    ich benutze Ihre app seit einigen Jahren. Sehr praktisch, da man bei google calendar leider alle anderen ausschalten muss, um einen Kalender einzeln zu sehen.
    Ich habe leider folgendes Problem:
    Bestehende Kalender ohne Änderung funktionieren weiter tadellos, leider startet die app nicht mehr bei neuen Kalendern. Konkret: Ich wollte der Verknüpfung zum Kalender „Musikverein“ den neuen Kalender „Musikverein 2018“ hinzufügen. Habe dafür den alten link gelöscht und einen neuen mit beiden Kalendern angelegt – dieser link funktioniert nicht. Betrifft alle neuen links. Da ich erst mit dem Jahreswechsel Änderungen vorgenommen habe, kann ich nicht sogen, wie lange dieser Fehler besteht.
    Haben Sie eine Idee, woran es liegen könnte?
    Technische Daten meines Handys:
    ZTE Blade A512 Version V1.0.0B02.
    Android Version 6.0.1

    Ich bin gespannt, was Sie herausfinden.

    LG Ralf

    • Hallo Ralf,

      wenn Sie die App schon länger verwenden, dann haben Sie vielleicht noch nicht die aktuelle Version installiert? Wie Sie den Kommentaren hier entnehmen können, hatte Werner ein ähnliches Problem, das ich durch eine Änderung beheben konnte. Bitte deinstallieren Sie in diesem Fall die alte Version über die Android-Einstellungen, installieren Sie die aktuelle Version (oben im Beitrag verlinkt) und schauen Sie mal ob es damit funktioniert. Wenn nicht, melden Sie sich gerne nochmal. Spezifizieren Sie dann bitte, was nicht funktioniert: Gibt es eine Fehlermeldung? Wenn Sie auswählen, dass eine Kalender-App gestartet werden soll, startet diese?

      Ich kann aber aktuell leider nicht versprechen, dass ich zeitnah dazu komme, mir das im Detail anzuschauen.

      Viele Grüße
      Till

  5. Hallo Till,

    Ihre App ist das was ich gesucht habe. Leider konnte ich die App nicht korrekt installieren. Nach dem Download und Installationsvorgang kann ich die App nirgends finden. Zum Installationsabschluss kann ich auch nur „Fertig“ und nicht „Öffnen“ auswählen.
    Mei Gerät ist auch wie bei Volker und Nicolas ein S7 edge.
    Haben Sie mir einen Rat, dass es voll klappt?
    Grüße Carsten

    • Hallo Carsten,

      die App erscheint nicht in der Liste der Apps, da sie keine Benutzeroberfläche im herkömmlichen Sinne hat. Sie sollte stattdessen in der Liste der Widgets, die man zum Home Screen hinzufügen kann, erscheinen.

      Viele Grüße
      Till

  6. Hallo,
    habe vorhin diese Seite entdeckt und die App zuerst auf meinem alten S5 Mini getestet.
    Kompliment an den Entwickler.
    Sowas muss es einfach geben!
    Eigentlich wäre mein altes Kalender-Problem damit gelöst, nach der Installation auf meinem neuen Xperia X Compact wird das Widget aber leider nicht angezeigt.
    Muss ich bei Android 8 noch etwas beachten?
    Gruß

    • Hallo Andreas,

      der Entwickler dankt für deine netten Worte 🙂
      Leider fürchte ich, dass ich dir nicht großartig weiterhelfen kann: Ich habe die App gerade noch einmal unter Android 8 auf einem Moto G6 installiert und konnte problemlos ein Widget hinzufügen. Daher kann ich leider nur „works for me“ sagen und habe keinen Anhaltspunkt, woran die Erstellung des Widgets scheitern könnte.
      Tut mir leid, dass ich da leider nicht weiterhelfen kann.

      Grüße
      Till

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.