我制作了这段代码:
long eventID = 208;
Uri uri = ContentUris.withAppendedId(Events.CONTENT_URI, eventID);
Intent intent = new Intent(Intent.ACTION_VIEW)
.setData(uri);
startActivity(intent);
我确保EventID是正确的,并且视图中显示的事件标题是正确的。
问题是事件时间不正确,如:1970-1-1 8:00。
为什么呢?有人可以帮忙吗?感谢。
答案 0 :(得分:4)
你必须添加事件开始&结束意图的额外数据:
intent.putExtra("beginTime", beginMilliTS);
intent.putExtra("endTime", endMilliTS);
我通过使用事件实例的“begin”和“end”字段中的值来实现此功能。 这也适用于事件中的“dtstart”和“dtend”字段。
答案 1 :(得分:1)
答案 2 :(得分:1)
似乎仍然存在同样的问题。这是正确的行为,还是缺少一些东西?
通过Instances.query获取事件ID(Globals.sContext.getContentResolver(),proj,begin,end); proj = String [] {Instances.EVENT_ID,Instances.BEGIN,Instances.END ...};
使用偶数ID在日历应用中查看事件。
尝试使用代码(来自http://developer.android.com/guide/topics/providers/calendar-provider.html),它仍然显示1969年12月31日的'详细视图'由'意图'打开;如果点击日历“详细信息视图”中的事件,则会在“编辑事件”表单中显示当前日期。
...
Uri uri = ContentUris.withAppendedId(Events.CONTENT_URI, eventID);
Intent intent = new Intent(Intent.ACTION_VIEW)
.setData(uri);
startActivity(intent);
,即使使用:
仍然无效intent.putExtra("beginTime", from);
intent.putExtra("endTime", till); //'from', 'till' is the mills got from the Instances.BEGIN/END fields from the query
编辑:
以下代码有效。唯一不同的是使用define CalendarContract.EXTRA_EVENT_BEGIN_TIME
Uri uri = ContentUris.withAppendedId(Events.CONTENT_URI, eventId);
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(uri);
intent.putExtra(CalendarContract.EXTRA_EVENT_BEGIN_TIME, from);
intent.putExtra(CalendarContract.EXTRA_EVENT_END_TIME, till);
startActivity(intent);