このイベントのインスタンスが存在するかどうかをテストする必要があります。Android の CalendarContract.Instances クラスのドキュメントを参照してください。
この場合、特に2 番目のクエリ メソッドが役立ちます。
この例は、CalendarContract プロバイダーに関するブログ投稿に投稿したコードです。必要に応じて少し変更しています。
long begin = // starting time in milliseconds
long end = // ending time in milliseconds
String[] proj =
new String[]{
Instances._ID,
Instances.BEGIN,
Instances.END,
Instances.EVENT_ID};
Cursor cursor =
Instances.query(getContentResolver(), proj, begin, end, "\"Your event title\"");
if (cursor.getCount() > 0) {
// deal with conflict
}
注意: エポック以降の時間は常に UTC ミリ秒です。そのため、ユーザーのタイムゾーンを考慮して調整する必要がある場合があります。
最後のパラメーターには、カレンダーに追加したイベントのタイトルが含まれている必要があります。引用符を付けておいてください。そうしないと、Android は「your」、「event」、または「title」を検索します。
また、必要な権限を含めることを忘れないでください。