好吧,我在这里非常精确地阅读了文档:http://developer.android.com/guide/topics/providers/calendar-provider.html#update-event及其类似内容:
// Here is an example of an intent that sets a new title for a specified event and lets users edit the event in the Calendar.
long eventID = 208;
Uri uri = ContentUris.withAppendedId(Events.CONTENT_URI, eventID);
Intent intent = new Intent(Intent.ACTION_EDIT)
.setData(uri)
.putExtra(Events.TITLE, "My New Title");
startActivity(intent);
对我来说,它不起作用-它会打开正确的事件,但无法对其进行编辑-所有字段均为只读。我只能更改的字段是时区和提醒。其他所有内容均为只读。我做错了吗?
我的API级别是14(ICS)
因此,我认为您没有做错任何事情-我通过命令行将相同内容的基本实现放在一起,并且应用了相同的限制:
am start -a android.intent.action.EDIT --es title "New Title" content://com.android.calendar/events/1
我只能编辑与您相同的字段-最好执行ACTION_VIEW
并让用户决定进行编辑(对不起,我没有更好的答案,这很烦人)
此problem的解决方法:如果您使用Intent.ACTION_VIEW,则至少会获得一个活动,您可以在其中单击“编辑”按钮,然后可以编辑标题和位置以及其他所有内容(在默认日历应用中)无论如何)。
只有您是活动的组织者,才可以编辑活动因此,就您而言,您不是组织者