0

プロバイダーを使用してカレンダーイベントをAndroidカレンダーに挿入するアプリがありますcontent://com.android.calendar/events(Android 2.2の場合、それ以外の場合content://calendar/events)。

これは通常は正常に機能し、Nexus Oneではイベントが追加され、Googleカレンダーに正しく同期されます。

ただし、Galaxy Sでは、Googleアカウントのカレンダーに追加された新しいイベントは電話に正しく表示されますが、Googleカレンダーに同期されません。電話の設定で同期を強制的に実行した後でも、新しいイベントはGoogleカレンダー(ウェブから表示)に表示されません。

同じ電話で、組み込みのSamsungカレンダーアプリを使用して同じGoogleカレンダーに追加された新しいイベントは、Googleカレンダーに同期されます。

Galaxy 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カレンダーアプリが挿入する方法と似ています。

4

2 に答える 2

3

次のような生の文字列を書くようなことをするときは注意してください。

"content://com.android.calendar/events"
"com.android.calendar"

プライベート API を使用しています。これらは SDK の一部ではないため、これが特定のプラットフォームまたはデバイスで動作するという保証はありません。

現在、カレンダー データベース用の公開 API はありません。

于 2011-01-05T01:35:53.570 に答える
2

コモンズウェアは正しいです。サムスンは携帯電話のカレンダー アプリを変更しました。このアプリは、Google、Exchange、および Facebook のカレンダーだけでなく、マイ カレンダーと呼ばれる「コレクター」カレンダーも使用しています。

TouchWiz を搭載した Galxy S のカレンダー アプリにはバグがあります。機能するものもあれば、機能しないものもあります。終日のイベントが前日に終了するという既知のバグがあります。2.2 への公式アップデートがリリースされるまで、このカレンダーは信頼できません。

@hackbod が指摘しているように、カレンダー データベース用のパブリック API がないため、他の電話会社も自社の電話で同じことを行う可能性があります。

于 2011-01-05T01:54:48.997 に答える