2011-04-10 5 views
1

J'essaie d'ajouter une entrée au calendrier Android (2.2), mais j'ai déjà eu une erreur. J'ai essayé beaucoup de test mais sans succès. Quel est le problème s'il vous plaît? Désolé pour mon anglais.Travailler avec le calendrier Android

code source:

String calName; 
     String calId = null; 
     String[] projection = new String[] { "_id", "name" }; 
     Uri calendars = Uri.parse("content://com.android.calendar/calendars"); 
     Cursor managedCursor = managedQuery(calendars, projection, "selected=1", null, null); 
     ContentValues event = new ContentValues(); 
     DateFormat date = new SimpleDateFormat("dd/MM/yyyy hh:mm:ss"); 

     long time = System.currentTimeMillis(); 
     String timeStr = date.format(time); 
     Log.d(TAG, "Value of timeStr: " + timeStr); 



     if (managedCursor.moveToNext()) { 
      calName = managedCursor.getString(managedCursor.getColumnIndex("name")); 
      calId = managedCursor.getString(managedCursor.getColumnIndex("_id")); 
      event.put("calendar_id", calId); 
      event.put("title", "Event Title"); 
      event.put("description", "Description"); 
      event.put("eventLocation", "New York"); 
      event.put("dtstart", timeStr); 
      event.put("dtend", timeStr); 
      Uri eventsUri = Uri.parse("content://com.android.calendar/events"); 
      Uri url = getContentResolver().insert(eventsUri, event); 


      } 

Répondre

1

D'abord, s'il vous plaît afficher les StackTrace pour votre erreur. Deuxièmement: avant d'essayer managedCursor.moveToNext, utilisez:

managedCursor.moveToFirst(); 

puis

while(managedCursor.moveToNext()){ }; 
+0

Je ne peux pas poster StackTrace parce que mon AVD ne pas de calendrier, je teste que sur mon HTC Désir (s'il y a n'importe quelle manière d'installer le calendrier androïde au projet AVD ou de déboguer de mon téléphone s'il vous plaît dites-moi que ..) et managedCursor.moveToFirst(); et puis while (managedCursor.moveToNext()) {}; Je l'ai déjà essayé, mais cela n'a pas fonctionné – Husky

+0

Vous avez raison, AVD n'a pas de calendrier. Vous pouvez déboguer l'application sur votre téléphone avec Logcat, rechercher Logcat et Android sur Google. – Elepferd