naholyr Posted April 14, 2010 Share Posted April 14, 2010 Salut, Pour info j'ai également posé la question sur XDA, sait-on jamais... http://forum.xda-developers.com/showthread.php?p=6185918 Voilà, pour mon projet de "réveil lumière" j'ai besoin de récupérer la prochaine alarme de l'utilisateur, afin de démarrer le réveil en douceur par exemple 45 minutes avant l'alarme réelle. Je n'ai pas besoin de modifier les alarmes, mais vraiment uniquement de les lire (et je tiens à me baser sur l'alarme déjà utilisée par l'utilisateur, mon appli ne vient pas pour remplacer, mais pour compléter le réveil habituel). Pour ça j'ai besoin de l'URI d'un Content Provider, qui en l'occurrence est "content://com.android.alarmclock/alarm" pour l'application standard. Mais évidemment, le réveil du HTC Hero ne peut être accédé de cette manière :( mContentResolver.query("content://com.android.alarmclock/alarm", null, "enabled=?", new String[] { "1" }, null); me renvoie systématiquement null (alors que ça marche parfaitement sur l'émulateur). J'ai vérifié les bases de données des applications présentes, et j'ai trouvé une application nommée "com.htc.android.worldclock", avec un "alarms.db" qui est EXACTEMENT ce dont j'ai besoin, sauf que je ne sais comment la lire :( J'ai testé "content://com.htc.android.worldclock/alarm" et "content://com.htc.android.worldclock/alarms", mais rien n'y fait... Comment puis-je accéder à cette BDD ? Est-ce qu'il existe un moyen de connaître l'URI du Content Provider fourni par une application pour accéder à ses données ? Est-ce qu'il existe un moyen simple dans l'API pour connaître l'URL du Content Provider des alarmes (s'il existe) ? Merci d'avance :) P.S: si jamais j'arrive à résoudre ce problème, il m'en restera un autre à résoudre : comment reconnaître le device de l'utilisateur pour utiliser le bon content provider ? Ou est-ce que je devrais plutôt tester tous les content provider que j'ai trouvés et garder le premier qui marche ? Link to comment Share on other sites More sharing options...
naholyr Posted April 15, 2010 Author Share Posted April 15, 2010 La réponse est venue d'XDA :) Il faut utiliser "content://com.htc.android.alarmclock/alarm" pour l'horloge HTC Sense. Je vais donc gérer ces deux là en testant les accès au provider, et en cas d'erreur afficher une popup demander de spécifier l'heure du réveil (stocké en préférence). Et puis j'ajouterai aussi une option pour le re-définir manuellement dans le menu (au cas où on ait une alarme d'origine mais qu'on en utilise une autre par exemple). Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.