2017-05-05 41 views
0

我想按标题或说明在Android日历API Instances表中搜索事件。但是由于API,我无法从表中获取所有实例。 CalendarContract.InstancesCONTENT_SEARCH_URI。有人知道如何使用它吗?在Android日历中搜索实例

回答

0

以下是CONTENT_SEARCH_URI以及如何使用它。

CONTENT_SEARCH_URI = content://com.android.calendar/instances/search

如果你想使用它,添加3个参数:begin以毫秒计,end以毫秒和search为String。

Uri.Builder builder = CalendarContract.Instances.CONTENT_SEARCH_URI.buildUpon(); 
builder.appendPath(Long.toString(startDate)); 
builder.appendPath(Long.toString(endDate)); 
builder.appendPath(searchString); 
Uri uri = builder.build(); 

的路径将是content://com.android.calendar/instances/search/[your begin]/[your end]/[your search]

如果您的查询与此Uri,Android可让此SQL:

SELECT Instances._id AS _id, Instances.event_id AS event_id, 
    title, description, eventLocation 
FROM (Instances INNER JOIN view_events AS Events ON 
     (Instances.event_id=Events._id)) 
    LEFT OUTER JOIN Attendees ON (Attendees.event_id=Events._id) 
WHERE (begin<=? AND end>=?) 
GROUP BY Instances._id 
HAVING (title LIKE ? ESCAPE "#" 
    OR description LIKE ? ESCAPE "#" 
    OR eventLocation LIKE ? ESCAPE "#" 
    OR group_concat(attendeeEmail) LIKE ? ESCAPE "#" 
    OR group_concat(attendeeName) LIKE ? ESCAPE "#")