En fait, vous avez deux options ici.
Vous pouvez vérifier les comptes synchronisés avec l'appareil, puis vérifier si ces comptes sont également des comptes Google qui synchronisent leurs calendriers respectifs avec l'appareil.
Vous trouverez ci-dessous tous les comptes enregistrés sur l'appareil (généralement des comptes Google). Si vous voulez tous les comptes, qu'ils soient Google ou non, utilisez plutôt AccountManager.getAccounts(). Vous devez d'abord obtenir votre AccountManager via getSystemService(Context.ACCOUNT_SERVICE)
. Pour avoir accès aux agendas synchronisés sur le périphérique, lire "synchronisé" comme actif, vous pouvez utiliser l'API GData (que je n'ai jamais réussi à faire fonctionner correctement), ou accéder à la base de données locale sqllite qui stocke le calendrier (s) directement sur l'appareil. Sans afficher des tonnes de code sur la façon d'accéder à cette base de données, si vous effectuez une recherche sur "android accéder à la base de données du calendrier", vous devriez trouver beaucoup d'informations utiles sur l'accès à cette base de données.
Point de départ: Getting events from calendar
Je possède ce travail sur une application que je suis en train d'écrire - la vérification des comptes locaux/synchronisés, puis en tirant les données sur la base de données interne et saisissant les calendriers seulement pour les comptes locaux par rapport à tous les calendriers sur l'appareil. J'ai beaucoup de calendriers partagés avec moi du travail, donc je veux seulement les calendriers "locaux" à l'appareil pour mon application.