CalendarContract.Instances.DELETED获取不到
时间: 2024-03-09 11:51:33 浏览: 56
如果您无法通过 `CalendarContract.Instances.DELETED` 列获取已删除事件的信息,可能是因为您的设备上的日历应用程序不支持删除事件。有些日历应用程序不会删除事件,而是将它们标记为已删除,以便用户可以稍后恢复它们。在这种情况下,您可以使用以下代码查询已删除的事件:
```
String[] projection = new String[] {CalendarContract.Instances._ID};
long now = System.currentTimeMillis();
Cursor cursor = getContentResolver().query(CalendarContract.Instances.CONTENT_URI,
projection,
CalendarContract.Instances.BEGIN + " <= ? AND " + CalendarContract.Instances.END + " >= ?",
new String[] {String.valueOf(now), String.valueOf(now)},
null);
while (cursor.moveToNext()) {
long eventId = cursor.getLong(cursor.getColumnIndex(CalendarContract.Instances._ID));
int deleted = isEventDeleted(eventId);
if (deleted == 1) {
// 处理已删除事件
} else {
// 处理未删除事件
}
}
cursor.close();
```
此代码中的 `isEventDeleted()` 方法将返回 1 如果事件已被删除,否则返回 0。请注意,此方法需要您使用 `READ_CALENDAR` 权限来读取用户的日历数据。
阅读全文