IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

Ajouter un évènement dans le calendrier


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 54
    Par défaut Ajouter un évènement dans le calendrier
    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

  2. #2
    Expert confirmé

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Par défaut
    Bonjour,

    Pourrais tu nous poster le message d'erreur que tu as dans le logcat ?

    Merci .

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 54
    Par défaut
    Bien sur le message est le suivant :

    Message : Failed to find provider info for calendar
    Tag : ActivityThread

  4. #4
    Expert confirmé

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Par défaut
    Bonjour,

    Tu as une erreur lorsque tu récupère le Calendar


    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
     
    Uri calendarUri;
    Uri eventUri;
    if (android.os.Build.VERSION.SDK_INT <= 7 )
    {
      //the old way
      calendarUri = Uri.parse("content://calendar/calendars"); 
      eventUri    = Uri.parse("content://calendar/events");
    }
    else
    {
     //the new way
     calendarUri = Uri.parse("content://com.android.calendar/calendars");
     eventUri    = Uri.parse("content://com.android.calendar/events");
    }

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 54
    Par défaut
    Je crois bien que mon code revient au même non ?

    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");
    	}
    Et de plus, j'ai testé les deux structures sans résultat. J'ai une erreur différente si j'utilise la nouvelle version : "Failed to find provinder info for com.android.calendar".

    Comme aucun des deux ne fonctionne j'ai testé sur mon propre mobile et la je plante. J'ai codé un toast avant et après le curseur et rien ne s'affiche.

    Une autre idée ?

  6. #6
    Expert confirmé

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Par défaut
    Bonjour,

    Il existe un lien intéressant .
    http://jimblackler.net/blog/?p=151

    j'ai testé sur mon propre mobile et la je plante
    Essayes de le débugger directement sur ton mobile , ça t' évitera d'avoir des problèmes avec l'emulateur .

Discussions similaires

  1. comment insérer un évênement dans un calendrier google ?
    Par clavier12AZQSWX dans le forum Général Python
    Réponses: 0
    Dernier message: 06/05/2013, 17h47
  2. Insérer un événement dans le calendrier avec > 2.1
    Par Sake_reflex dans le forum Android
    Réponses: 2
    Dernier message: 03/10/2011, 10h54
  3. Ajouter un événement dans le calendrier iPhone
    Par SebPolytech dans le forum Objective-C
    Réponses: 1
    Dernier message: 02/09/2011, 12h40
  4. Ajouter des évènements dans mon calendrier
    Par doncandid dans le forum Langage
    Réponses: 2
    Dernier message: 25/06/2011, 21h32
  5. Ajouter rendez-vous dans le calendrier
    Par dakota77 dans le forum Windev Mobile
    Réponses: 0
    Dernier message: 16/09/2010, 16h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo