電話でカレンダーのイベントをコードから更新しようとしていますが、context.getContentResolver()。updateは0を返し続けます。もちろん、カレンダーアプリでイベントを確認しても、イベントに変更はありません。
context.getContentResolver()。queryを使用してイベントIDや開始時刻などを取得しており、431、4、233などの一意の番号を取得しているため、使用しているイベントIDは本物。
これを行う公式の方法は、update()を使用する代わりにGoogleのサーバーを経由することであることを理解していますが、私の実装では、そのようにすることは意味がありません(または一般的には、私は逸脱します)。
私は何か間違ったことをしているのですか、それともAndroidが単に許可しないことをしようとしているのですか?
Uri updateEventUri = ContentUris.withAppendedId(Uri.parse("content://com.android.calendar/events"), id);
ContentValues cv = new ContentValues();
begin.set(Calendar.HOUR_OF_DAY, arg0.getCurrentHour()); //begin is a java.util.Calendar object
begin.set(Calendar.MINUTE, arg0.getCurrentMinute());
//cv.put("_id", id);
//cv.put("title", "yeahyeahyeah!");
cv.put("dtstart", begin.getTimeInMillis());
int updatedrowcount = context.getContentResolver().update(updateEventUri, cv, null, null);
System.out.println("updated "+updatedrowcount+" rows with id "+id);
関連する質問がここに投稿されましたが、返信はありませんhttps://stackoverflow.com/questions/5636350/update-android-calendar-event
何か明確にできるかどうか教えてください。私はあなたたちと人形が提供することができるどんな入力でも本当に感謝します!