現在、私のアプリは、ユーザーが自分のGoogleカレンダーに単一イベントを追加支援する能力を持っていますが、多くのユーザーは、自動的に自分のGoogleカレンダーにすべてのイベントを追加したいAndroidカレンダーに外部カレンダーを登録する方法を教えてください。
final Intent calendarIntent = new Intent(Intent.ACTION_EDIT)
.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
.setType("vnd.android.cursor.item/event")
.putExtra("beginTime", startTime)
.putExtra("endTime", startTime + 7200000L) // 2 hours
.putExtra("title", name)
.putExtra("description", description.toString())
.putExtra("eventLocation", address);
// later
startActivity(calendarIntent);
。私たちのサーバーチームは、人ができるICSフィードを作成しましたsubscribe to as an external Google calendar。しかし、これにはURLのコピーと貼り付けが含まれており、エンドユーザーにとっては紛らわしいものです。
ウェブ上では、人々をフォームhttp://www.google.com/calendar/render?cid=OUR_ICS_URL
のURLにリンクすることができ、そこから比較的簡単にフィードを追加できます。しかし、AndroidブラウザでこのURLにアクセスすると、モバイルに関する奇妙なポップアップが表示されます( )。開発チームの高度なアンドロイドユーザーでも、そこから追加されたカレンダーを取得する方法がわかりませんでした。
私が調べたもう1つのことはGoogleカレンダーAPIでしたが、calendar list insert methodには外部カレンダーのURLではなく、GoogleカレンダーIDが必要です。
ここに良い解決策はありますか?ユーザーがデスクトップにアクセスしてフルサイズのWebブラウザを開くことなくカレンダーを購読できるようにする方法があるはずです。しかし、私が試したことは何も結果をもたらさなかった。
どのような考えですか?
私が知る限り、カレンダーリストの挿入メソッドは、任意の外部カレンダーURLではなく、GoogleカレンダーIDのみを受け入れることができます。何か不足していますか? – mlc
Zend frameworkのgetCalendarListFeed()機能を再現する方法があると瞬時に考えていました。ドキュメントに記載されているので、「カレンダーサービスは、認証済みのカレンダーのリストを取得することをサポートしていますこれは、GoogleカレンダーのUIに表示されるカレンダーと同じですが、「非表示」とマークされているものもあります。しかし、私はZendの専門家ではないので、これを分析することは私をはるかに超えています。 – Reggie
ええ、ちょうどZend_Gdata_Calendar名前空間のその機能の背後にあるコードをチェックしたところ、外部URLから手動でカレンダーWebページを取得してその情報をDOMから抽出しているようです。単純なAndroidアプリのための洗練されたソリューションではありません。 – Reggie