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 :

Calendrier event ajouté mais pas le rappel


Sujet :

Android

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    315
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2009
    Messages : 315
    Points : 114
    Points
    114
    Par défaut Calendrier event ajouté mais pas le rappel
    Bonjour, je travaille sous android 2.3

    j'ajoute un event au calendrier , c'est OK mais le rappel ne s'inscrit pas

    Une idée , merci ??

    Voici la portion de code concernée

    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
     
    private void insertNewEvent() {
     
      long startMillis = 0; 
      long endMillis = 0;     
      Calendar beginTime = Calendar.getInstance();
      beginTime.set(2015, 2, 9, 14, 53);
      startMillis = beginTime.getTimeInMillis();
      Calendar endTime = Calendar.getInstance();
      endTime.set(2015, 2, 9, 14, 54);
      endMillis = endTime.getTimeInMillis();
     
      String letitre = "Nouveau événement 7";
     
      addToCalendar(this,letitre,startMillis,endMillis);
      }
     
      public void addToCalendar(Context ctx, final String title, final long dtstart, final long dtend) {
          final ContentResolver cr = ctx.getContentResolver();
          Cursor cursor ;
          if (Integer.parseInt(Build.VERSION.SDK) >= 8 )
              cursor = cr.query(Uri.parse("content://com.android.calendar/calendars"), new String[]{ "_id", "displayname" }, null, null, null);
          else
              cursor = cr.query(Uri.parse("content://calendar/calendars"), new String[]{ "_id", "displayname" }, null, null, 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(0);
                  calNames[i] = cursor.getString(1);
                  cursor.moveToNext();
              }
     
              AlertDialog.Builder builder = new AlertDialog.Builder(ctx);
              builder.setSingleChoiceItems(calNames, -1, new DialogInterface.OnClickListener() {
     
                  @Override
                  public void onClick(DialogInterface dialog, int which) {
                      ContentValues cv = new ContentValues();
                      cv.put("calendar_id", calIds[which]);
                      cv.put("title", title);
                      cv.put("description","Application Development ");
                      cv.put("dtstart", dtstart );
                      cv.put("hasAlarm", 1);
                      cv.put("dtend", dtend);
     
                      Uri newEvent ;
                      if (Integer.parseInt(Build.VERSION.SDK) >= 8 )
                          newEvent = cr.insert(Uri.parse("content://com.android.calendar/events"), cv);
                      else
                          newEvent = cr.insert(Uri.parse("content://calendar/events"), cv);
     
                      if (newEvent != null) {
                          long id = Long.parseLong( newEvent.getLastPathSegment() );
                          Long identif = id;
                          Log.d("valeur de identif ", identif.toString());
                          ContentValues values = new ContentValues();
                          values.put( "event_id", id );
                          values.put( "method", 3);   // Method SMS
                          values.put( "minutes", 10 ); // 10 minutes
                          if (Integer.parseInt(Build.VERSION.SDK) >= 8 )
                              cr.insert( Uri.parse( "content://com.android.calendar/reminders" ), values );
                          else
                              cr.insert( Uri.parse( "content://calendar/reminders" ), values );
     
                      }
                      dialog.cancel();
                  }
     
              });
     
              builder.create().show();
          }
          cursor.close();
      }

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    315
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2009
    Messages : 315
    Points : 114
    Points
    114
    Par défaut Personne ???
    Merci

  3. #3
    Membre éclairé
    Avatar de LeBzul
    Homme Profil pro
    Inscrit en
    Décembre 2008
    Messages
    381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 381
    Points : 832
    Points
    832
    Par défaut
    Salut,
    Je n'ai pas la réponse.
    Mais je vois dans ton code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     values.put( "method", 3);
    Mettre des valeurs en dur comme cela n'est jamais une bonne idée.

    En cherchant rapidement sur google je suis tombé la dessus :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ContentValues reminders = new ContentValues();
    reminders.put(Reminders.EVENT_ID, eventID);
    reminders.put(Reminders.METHOD, Reminders.METHOD_ALERT);
    reminders.put(Reminders.MINUTES, selectedReminderValue);
    Uri uri2 = cr.insert(Reminders.CONTENT_URI, reminders);
    Ce qui me parait nettement mieux.



    En espérant que ca t'aide.

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    315
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2009
    Messages : 315
    Points : 114
    Points
    114
    Par défaut
    Merci pour la réponse

    J'ai modifié le code ds ce sens mais sans résultat

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    ContentValues reminders = new ContentValues();
                          reminders.put(Reminders.EVENT_ID,id);
                          reminders.put(Reminders.METHOD,Reminders.METHOD_SMS);
                          reminders.put(Reminders.MINUTES, TimeUnit.MINUTES.convert(10, TimeUnit.HOURS));
    //                      reminders.put(Reminders.MINUTES,10);
                          if (Integer.parseInt(Build.VERSION.SDK) >= 8 )
                              cr.insert( Uri.parse( "content://com.android.calendar/reminders" ), reminders );
                          else
                              cr.insert( Uri.parse( "content://calendar/reminders" ), reminders );

  5. #5
    Membre éclairé
    Avatar de LeBzul
    Homme Profil pro
    Inscrit en
    Décembre 2008
    Messages
    381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 381
    Points : 832
    Points
    832
    Par défaut
    Est ce que tu as essayé avec une autre méthode que SMS :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    values.put(Reminders.METHOD, Reminders.METHOD_ALERT);
    Peut être le soucis viens de la ?

    Et aussi de mettre pour l'insert :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cr.insert(Reminders.CONTENT_URI, values);

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    315
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2009
    Messages : 315
    Points : 114
    Points
    114
    Par défaut Tout est OK
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    values.put(Reminders.METHOD, Reminders.METHOD_ALERT);
    Exact , la METHOD_SMS ne fonctionne pas , ALERT --> OK

    Peut être le soucis viens de la ?

    Et aussi de mettre pour l'insert :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cr.insert(Reminders.CONTENT_URI, values);
    [/QUOTE]

    ce code plante le programme , il faut conserver le if et else précédent

    Grand Merci pour l'intérêt porté à cette question

    Amicalement

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Autoriser des droits d'ajout mais pas de lecture
    Par Casmer dans le forum SharePoint
    Réponses: 17
    Dernier message: 17/11/2015, 13h24
  2. Réponses: 2
    Dernier message: 26/03/2010, 10h55
  3. Fichier ajouter mais ne s'exécute pas
    Par bruce207 dans le forum Installation, Déploiement et Sécurité
    Réponses: 12
    Dernier message: 31/05/2008, 13h14
  4. Ajouter du text dans un textarea mais pas à la fin
    Par Mo_Poly dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 16/03/2008, 19h20
  5. Ajouter Commande mais pas Menu
    Par Stéphane Olivier BERNARD dans le forum Access
    Réponses: 2
    Dernier message: 04/05/2006, 15h45

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