Still can, but you need to figured out the difference first, between the event you need and the ones you don't. I don't know if it is the same in all android, as I almost never use calendar event (different people different need).
However the Projection field seems to have a bug. When you use custom variable as my first reply, I can't select the Projection anymore. It will give me error :
Could not load column information.
So I have to revert to original and modify the value to approximately 1 year. Then load up all possible projection (just check all) and you will have all available calendar events
Content URI :
content://com.android.calendar/instances/when/{triggertime}/{addDays(triggertime,300)}
Projection : just check all
Result Type :
Table
Include header row :
check
The result now, the
event_titles contain all possible calendar event from current time till the next 300 days. It is in table format, with header; automagic see it as a list inside a list (nested list, 2 level).
You can put debug dialog after it and check the content of each row, spot the difference between the calendar event you want vs the ones you don't need.
But it is quite difficult to spot it, since there are so many data, there are 62 columns at mine. It will be easier if we check it at spreadsheet. We can then loop the list and join them with a tab (\t) and export it as list format.
Code: Select all
line = newList();
for(i in event_titles)
addElement(line, join(i, "\t"));
write = "{line,listformat}";
The result is {write} , contain the all of the calendar events list in csv tab delimited format. You can then write this to file using Action
Write to File, put {write} in the Text field, uncheck Append.
Send this csv.txt to your PC or any spreadsheet program and analyze the data. You can hide the column you don't need to make it faster. At mine, I can see it is the last column :
calendar_displayName, which has the difference. At mine it will shown up as
Hari libur di Indonesia. There are others simply shown up as
Contacts, which contain my contact's birthday. So I know I can filter out the
Hari libur di Indonesia using the
calendar_displayName field.
Back to the
Query Content Provider, we will project against the title again, but this time we filter out the information using the
calendar_displayName.
Content URI :
content://com.android.calendar/instances/when/{triggertime}/{addDays(triggertime,300)}
Projection :
title
Selection :
calendar_displayName = ?
Selection Arguments :
Hari libur di Indonesia
Result Type :
List
This time, it will show the title in list, but only from the arguments you specified in the
calendar_displayName field.