使用意图编辑日历事件不起作用

时间:2012-10-25 15:42:16

标签: android events android-calendar

好的,我在这里非常准确地阅读了文档: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);

对我来说它不起作用 - 它会打开正确的事件,但编辑它是不可能的 - 所有字段都是只读的。只有我可以更改的字段是Timezone和Reminder。其他一切都是只读的。我做错了吗?

我的API级别为14(ICS)

3 个答案:

答案 0 :(得分:6)

所以我认为你做错了什么 - 我通过命令行把同一件事的基本实现放在一起,同样的限制适用:

am start -a android.intent.action.EDIT --es title "New Title" content://com.android.calendar/events/1

我只能编辑你的相同字段 - 你可能最好做一个ACTION_VIEW并让用户决定编辑(对不起,我没有更好的答案,那是亲切的令人讨厌的)

答案 1 :(得分:3)

problem的解决方法:如果您使用Intent.ACTION_VIEW,您至少会获得一个活动,您可以在其中点击“编辑”按钮,之后您可以编辑标题和位置以及其他所有内容(在默认日历应用程序)。

答案 2 :(得分:0)

只有您是该活动的组织者,才可以编辑活动 所以就您而言,您不是组织者