1

Events.CONTENT_URI のコンテンツ リゾルバを照会すると、将来のイベントとアラームがあることが正しく表示されます。しかし、Reminders.CONTENT_URI を照会すると、既に発生したリマインダーのみが表示されます。将来のイベントにリマインダーがあるかどうかを確認し、必要に応じてユーザーがそれを削除できるようにしたいと考えています。どうすればいいですか?その情報はどこにありますか?

すでに発生したリマインダーのみがここに表示されます

//Get all reminders
Cursor cursor = getContentResolver().query(
    Reminders.CONTENT_URI, null, null, null, null 
);

//None of my future events show here even though they have reminders
while (cursor.moveToNext())
{           
        Log.d(TAG,
                "Id: " + cursor.getInt(cursor.getColumnIndex(Reminders._ID)) +
                ", Minutes: " + cursor.getInt(cursor.getColumnIndex(Reminders.MINUTES)) +
                ", Method: " + cursor.getInt(cursor.getColumnIndex(Reminders.METHOD))
        );
}

これにより、将来のすべてのイベントが表示されます (すべてにリマインダーがありますが、リマインダーには表示されません)

//Get all events
Cursor cursor = getContentResolver().query(
    Events.CONTENT_URI, null, null, null, null
);

while (cursor.moveToNext())
{           
     //This correctly shows the future events each have an alarm (hasAlarm = 1)
     Log.d(TAG, 
          cursor.getString(cursor.getColumnIndex(Events.TITLE)) + ","
          cursor.getInt(cursor.getColumnIndex(Events.HAS_ALARM))
     );
}

将来のイベントのリマインダーを見つける (および変更する) にはどうすればよいですか?

編集: CalendarAlerts は、将来のイベントのアラームも表示しません! 今後の予定が CalendarAlerts.CONTENT_URI に表示されない

4

1 に答える 1

2

リマインダーが必要な将来のイベントのクエリで引数として eventid を渡す必要があり、 args = new String[] { Long.toString(mEventId) };where 句を使用する必要もありますprivate static final String REMINDERS_WHERE = Reminders.EVENT_ID + "=?";

于 2013-02-26T07:17:11.957 に答える