我有一个尝试在用户的日历应用程序中打开特定事件的触发器。这里的问题是重复发生的事件(有点像预期的那样) - 它会打开事件,而不是事件实例。
我这里没有查询,但是我正在使用Instances表查找事件ID,开始时间和结束时间。
public class CalendarItem {
long eventID;
long startTime;
long endTime;
public CalendarItem (long eventID, long startTime, long endTime) {
this.eventID = eventID;
this.startTime = startTime;
this.endTime = endTime;
}
public void openCalendarWithIntent(){
Uri uri = ContentUris.withAppendedId(Events.CONTENT_URI, eventID);
Intent calIntent = new Intent(Intent.ACTION_VIEW).setData(uri);
//calIntent.putExtra(CalendarContract.EXTRA_EVENT_BEGIN_TIME, startTime);
//calIntent.putExtra(CalendarContract.EXTRA_EVENT_END_TIME, endTime);
calIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(calIntent);
}
}
对于任何事件,日历将打开该事件的第一个实例。如果我添加额外的标志(开始时间和结束时间),它会打开那个带有开始时间和结束时间的“事件”,这更好,但实际上并不是我正在寻找的实例。
有没有办法打开SPECIFIC事件实例?
答案 0 :(得分:2)
好吧,我之前的逻辑中有一个错误,即“endTime”设置不正确。
您可以打开特定实例 ,只要 EXTRA_EVENT_BEGIN_TIME和EXTRA_EVENT_END_TIME与实例完全匹配。