Using an intent to edit calendar event doesn't work

独自空忆成欢 提交于 2019-11-30 04:54:28

问题


Ok, I read docs very precisely here: http://developer.android.com/guide/topics/providers/calendar-provider.html#update-event and its written something like this:

// 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);

For me it doesn't work - it opens correct event, but it's NOT POSSIBLE to edit it - all fields are read only. Only fields what I can change are Timezone, and Reminder. Everything other is read only. Am I doing something wrong?

My API level is 14 (ICS)


回答1:


So I don't think you're doing anything wrong - I put together a basic implementation of the same thing via command line and the same restriction applies:

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

I'm only able to edit the same fields you are - You might be better off doing a ACTION_VIEW and letting the user decide to edit (sorry I don't have a better answer for you, that's kind of annoying)




回答2:


Workaround for this problem: If you use Intent.ACTION_VIEW you'll at least get an activity in which you can hit the Edit button, after which you can edit the title and location and everything else (in the default calendar app anyway).




回答3:


You can able edit an event in the only case you are an organizer of this event so in your case, you a not the organizer



来源:https://stackoverflow.com/questions/13072275/using-an-intent-to-edit-calendar-event-doesnt-work

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!