プロバイダcontent://com.android.calendar/events
(Android 2.2の場合はcontent://calendar/events
)を使用してカレンダーの予定をAndroidカレンダーに挿入するアプリがあります。Google Calendarと同期していないギャラクシーSのカレンダーの挿入
通常は正常に動作し、Nexus Oneではイベントが追加され、Googleカレンダーに正しく同期されます。
しかし、Galaxy Sでは、Googleアカウントの予定表に追加された新しい予定が電話に正しく表示されますが、Googleカレンダーには同期されません。携帯電話の設定で強制的に同期が行われた後も、新しい予定はGoogleカレンダー(ウェブから表示)に表示されません。
同じ電話機で、内蔵のSamsungカレンダーアプリを使用して同じGoogleカレンダーに追加された新しいイベントは、Googleカレンダーに同期されます。
ギャラクシーSからGoogleに新しいイベントを同期する方法を知っている人はいますか?
いくつかのコード:私の実際の挿入は、次のように行われています。
Builder b = ContentProviderOperation.newInsert("content://com.android.calendar/events").withValues(values);
ops.add(b.build());
getContentResolver().applyBatch("com.android.calendar", ops);
これはAOSP EditEventクラスに見られるように、株式Androidのカレンダーアプリは、挿入を行う方法に似ています。
"content://com.android.calendar/events"
"com.android.calendar"
あなたはプライベートAPIを使用している:
あなたが使用しているコンテンツプロバイダは、オペレーティングシステムではなく、アプリケーションの機能であることに注意してください。そのアプリケーションとそのコンテンツプロバイダは、任意のデバイスで使用されても使用されなくてもよく、任意のデバイスで変更されてもされなくてもよい。私が推測しなければならないのは、Samsungの修正されたアプリケーションは、同期をサポートするいくつかの他のプライベートAPIを選択します。 – CommonsWare