In meiner Android App habe ich den Code zum Schreiben, Aktualisieren und Löschen von Ereignissen von/zu Kalendern.Abrufen und Filtern von Ereignissen aus Google Kalender
Jetzt möchte ich einige Ereignisse aus einem Kalender abrufen, aber ich kenne die Ereignis-IDs nicht. Ich möchte Ereignisse nach Titel, Beschreibung oder einem anderen Wert filtern.
Wie kann ich das tun?
Mein Code:
public static void getEvents(Activity mContext) {
Uri.Builder builder = Uri.parse("content://com.android.calendar/instances/when").buildUpon();
long now = new Date().getTime();
ContentUris.appendId(builder, now - DateUtils.DAY_IN_MILLIS * 10000);
ContentUris.appendId(builder, now + DateUtils.DAY_IN_MILLIS * 10000);
String selection = "((calendar_id = ?) AND (description LIKE ?))";
String[] selectionArgs = new String[] {""+id, "'%abc%'"};
Cursor eventCursor = contentResolver.query(builder.build(),
new String[] { "title", "begin", "end", "allDay", "description"},
selection, selectionArgs,
"startDay ASC, startMinute ASC");
while (eventCursor.moveToNext()) {
String eventTitle = eventCursor.getString(0);
String description = eventCursor.getString(4);
}
}
Wenn ich filtern, indem Sie Kalender-ID nur - es funktioniert und ich alle Ereignisse in diesem Kalender. Wenn ich versuche, "AND description =?" Hinzuzufügen, erhalte ich 0 Ereignisse, obwohl ich weiß, dass in der Beschreibung Ereignisse mit der Zeichenfolge enthalten sind.