意图查看特定事件实例的日历

时间:2014-08-18 05:26:22

标签: android android-calendar

我有一个尝试在用户的日历应用程序中打开特定事件的触​​发器。这里的问题是重复发生的事件(有点像预期的那样) - 它会打开事件,而不是事件实例。

我这里没有查询,但是我正在使用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事件实例?

1 个答案:

答案 0 :(得分:2)

好吧,我之前的逻辑中有一个错误,即“endTime”设置不正确。

您可以打开特定实例 ,只要 EXTRA_EVENT_BEGIN_TIME和EXTRA_EVENT_END_TIME与实例完全匹配。