Bonjour,

J'essayes depuis un moment d'ajouter un évènement dans le calendrier (enfin dans un calendrier disponible sur le terminal) et je n'y arrive pas. Le traitement ne mène à rien sur l'émulateur, et plante sur mon mobile.

Remarque : sur l'émulateur j'ai installé un QuickCalendar.apk via ADB. Cependant, je ne sais pas s'il ne manque rien d'autre, en effet l'application me dit que le service n'est pas lancé.

Dans le code ci-dessous, le curseur retourne systématiquement null :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
final ContentResolver cr = getApplicationContext().getContentResolver();
Cursor cursor = cr.query(getCalendarUri(), null, null/*"selected=1"*/, null, null);
 
if(cursor != null) {
   if(cursor.moveToFirst()) {
      final String[] calNames = new String[cursor.getCount()];
      final int[] calIds = new int[cursor.getCount()];
      for (int i = 0; i < calNames.length; i++) {
         calIds[i] = cursor.getInt(cursor.getColumnIndex("_id"));
         calNames[i] = cursor.getString(cursor.getColumnIndex("displayname"));
         cursor.moveToNext();
      }
   }
}
[...]
J'utilise la fonction pour récupérer uri :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
	public Uri getCalendarUri() {
	    return android.os.Build.VERSION.SDK_INT <= 7 ?
			Uri.parse("content://calendar/calendars"):
			Uri.parse("content://com.android.calendar/calendars");
	}
PS : J'utilise le SDK 1.6 pour l'émulateur, mon mobile est en Android 2.1