web-dev-qa-db-ja.com

PhoneGap / jQueryMobileを使用してiPhone / Androidカレンダーにプログラムでイベントを追加しますか?

IOS/AndroidのJavaScript/jQuery Mobile/PhoneGapアプリからカレンダーイベントを作成するにはどうすればよいですか?

PhoneGapプラグインなどはありますか?公式リポジトリには何も表示されませんでした。

  • IOSの場合、イベントキットフレームワーク(iOS 4.0以降)は イベントを追加 できるようです。
25
Michael Schmidt

古い質問だと思いますが、今は plugin があります。短所はありますが、機能します。執筆時点では、次の機能をサポートしています。

  • iOSのサポート:イベントの作成(サイレント)、更新(サイレント)、削除(サイレント)
  • Android> = 4:イベントの作成(インタラクティブおよびサイレント)、更新(サポートされていません)、削除(サイレント)
  • Android <4:イベントの作成(インタラクティブ)、更新(サポートされていません)、削除(サポートされていません)

コード例は次のとおりです。

  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

以下のコメントによると、 iOS用のiCalファイルとAndroid用のvcsファイルを作成できるようになりました 。ブラウザ/デバイスのスニッフィングが必要になるか、ユーザーに選択肢を提供しますが、少なくとも可能である必要があります。

5
SlowTree

現在、PhoneGap 開発ロードマップ にはカレンダーのサポートは含まれていません。しかし、それに対する多くの要求があります。 " W3CカレンダーAPIに続くカレンダープラグイン "というこの投稿を参照してください。これは PhoneGap-Calendar-Pluginプロジェクト を指し、Androidの初期カレンダーサポートが含まれています。

2
Brent Matzelle

IOSカレンダーへのイベントの追加は、最新のAPIを使用すると非常に簡単です。ただし、それを行うには、独自のプラグインを作成する必要があります。

これはプラットフォーム固有であるため、公式のPhoneGapプラグインが登場するまでには時間がかかります。

1
BigBalli

AndroidとiOSのプラグインを見つけましたが、JavaScript APIが同じではないため、両方のシステムに異なるコードを記述するか、別のレイヤーを追加する必要があります。また、それらは最新ではなく、Cordova2.2.0で実行するには修正が必要になります。さらに悪いことに、ドキュメントはちょっと短いです:

Android

DchengのAndroidプラグイン カレンダーイベントを作成、削除、検索できますが、完全に古く、そのままでは機能しません。 Android 4.0には Calendar Provider があり、作業が簡単になりますが、それでも適切なプラグインが見つかりませんでした。 jbajor はイベントのみを追加でき、 twistandshout はイベントのみを検索できます。

iOS

Felixactv8のiOSプラグイン カレンダーイベントを作成、削除、検索できます。 iOSにはイベントIDがないため、イベントの検索が楽しくなることに注意してください。 著者の説明 xcodeに必要な2つのフレームワークを追加する方法:

iPhoneカレンダーは、EventKit.frameworkとEventKitUI.frameworkの2つのフレームワークを使用します。

xcodeアイコンをクリックすると、プロジェクトアイコンとターゲットアイコンが表示されます。ターゲットアイコンをクリックしてから、ビルドフェーズをクリックします。 [バイナリとライブラリをリンクする]のドロップダウンをクリックします。ウィンドウの下部にあるプラス記号をクリックして、両方のフレームワークを検索します。両方のフレームワークを追加し、プロジェクトを再構築して実行します。

1
PiTheNumber