我正在尝试向日历添加新事件(min sdk version为2.2) 这是我到目前为止的代码:
ContentValues event = new ContentValues();
event.put("calendar_id", 2);
event.put("title", "mytitle");
event.put("description", "desc");
event.put("eventLocation", "loc");
event.put("eventTimezone", Calendar.getInstance().getTimeZone().getDisplayName());
long startTime = System.currentTimeMillis() + 1000 * 60 * 60;
Long duration = 1000L * 60 * 30;
event.put("dtstart", startTime);
event.put("duration", duration);
Uri eventsUri = Uri.parse("content://com.android.calendar/events");
Uri insertedUri = getContentResolver().insert(eventsUri, event);
但insertedUri
始终为空
我也可以在我的logcat中看到该行:
Failed to find provider info for calendar
任何人都可以帮助我吗? 感谢。
答案 0 :(得分:0)
Android中有无默认日历。因此,它始终无法找到提供者。这就是为什么之前没有公共API的原因。您必须为ex,Google日历安装日历应用程序。对于其他热门派对应用,请浏览他们的apis。
答案 1 :(得分:0)
我在here找到了答案 感谢
答案 2 :(得分:0)
你也可以试试这个,
public static void addToCalendar(Context ctx, final String title,
final long dtstart, final long dtend, final String location) {
Intent intent = new Intent(Intent.ACTION_EDIT);
intent.setType("vnd.android.cursor.item/event");
intent.putExtra("beginTime", dtstart);
intent.putExtra("allDay", false);
intent.putExtra("rrule", "FREQ=YEARLY");
intent.putExtra("endTime", dtend);
intent.putExtra("title", title);
intent.putExtra("eventLocation", location);
ctx.startActivity(intent);
}