web-dev-qa-db-fra.com

Ajouter un événement par programme dans un calendrier iPhone/Android avec PhoneGap/jQuery Mobile?

Comment créer un événement de calendrier à partir d'une application JavaScript/jQuery Mobile/PhoneGap sous iOS/Android?

Existe-t-il des plugins PhoneGap, par exemple? Je n'en ai pas vu dans le référentiel officiel.

25
Michael Schmidt

Je réalise que c'est une vieille question mais il y a plugin pour ça maintenant. Il a ses inconvénients, mais fonctionne. Au moment de l'écriture, il prend en charge les fonctionnalités suivantes:

  • iOS prend en charge: créer (en silence), mettre à jour (en silence) et supprimer (en silence) un événement
  • Android> = 4: créer (de manière interactive et silencieuse), mettre à jour (non pris en charge), supprimer (silencieusement) un événement
  • Android <4: événement de création (interactive), de mise à jour (non pris en charge), de suppression (non pris en charge)

Voici un exemple de code:

  var startDate = new Date(2014,2,15,18,30,0,0,0);
  var endDate = new Date(2014,2,15,19,30,0,0,0);
  var title = "My Nice event";
  var newTitle = "My new Nice event";
  var location = "Home";
  var notes = "Some notes about this event.";
  var success = function(message) { 
     alert("Success: " + JSON.stringify(message)); 
  };
  var error = function(message) { 
     alert("Error: " + message); 
  };

  window.plugins.calendar.createEvent(title,location,notes,startDate,endDate,success,error);

  window.plugins.calendar.modifyEvent(title,location,notes,startDate,endDate,newTitle,location,notes,startDate,endDate,success,error);

  window.plugins.calendar.deleteEvent(newTitle,location,notes,startDate,endDate,success,error);
5
Darius Kucinskas

D'après les commentaires ci-dessous, il est maintenant possible de créer un fichier iCal pour iOS et un fichier vcs pour Android . Cela nécessitera un reniflement du navigateur/du périphérique, ou donnera le choix à l'utilisateur, mais cela devrait au moins être possible.

5
SlowTree

Actuellement, PhoneGap roadmap de développement n'inclut pas la prise en charge du calendrier. Cependant, les demandes sont nombreuses. Voir ce message intitulé " Plugin de calendrier suivant l'API de calendrier du W3C " qui pointe vers le projet PhoneGap-Calendar-Plugin qui inclut une prise en charge initiale du calendrier pour Android. 

2
Brent Matzelle

L'ajout d'un événement au calendrier iOS est très simple avec la dernière API. Cependant, vous devez créer votre propre plug-in pour pouvoir le faire.

comme il s’agit d’une plate-forme spécifique, le temps passera avant qu’il n’y ait un plugin officiel PhoneGap.

1
BigBalli

J'ai trouvé des plugins pour Android et iOS, mais ils ne possèdent pas la même API JavaScript. Vous devez donc écrire un code différent pour les deux systèmes ou ajouter une autre couche. En outre, ils ne sont pas à jour et nécessiteront des corrections pour fonctionner avec Cordova 2.2.0. Pour aggraver les choses, la documentation est un peu courte:

Android

Le plugin Android de Dcheng est capable de créer, supprimer et rechercher des événements de calendrier, mais il est totalement obsolète et ne fonctionnera pas tel quel. Avec Android 4.0, il existe un fournisseur de calendrier qui facilite les choses, mais je n’ai toujours pas trouvé le bon plugin. jbajor ne peut ajouter que des événements et twistandshout rechercher uniquement des événements.

iOS

Le plugin iOS de Felixactv8 est capable de créer, supprimer et rechercher des événements de calendrier. Notez que dans iOS, il n'y a pas d'identifiant d'événement. Il sera donc amusant de rechercher vos événements. Le auteur explique comment ajouter les deux frameworks nécessaires dans xcode:

le calendrier iphone utilise les 2 frameworks, EventKit.framework et EventKitUI.framework.

si vous cliquez sur l'icône xcode, vous devriez voir l'icône du projet et l'icône de la cible. cliquez sur l'icône de la cible, puis cliquez sur les phases de construction. Cliquez sur le menu déroulant "Lier le binaire avec les bibliothèques. Cliquez sur le signe plus au bas de la fenêtre, puis recherchez les deux frameworks. Ajouter ces deux cadres, reconstruisez le projet et exécutez-le.

1
PiTheNumber