我如何在android 2.3中创建同步日历?

时间:2012-11-15 23:29:46

标签: android calendar android-2.3-gingerbread

我用这段代码创建了一个新的日历。 Android 2.3.5

public long CreateNewCalendar(String nameSchedule) {
    try{
        ContentValues calendar = new ContentValues();
        calendar.put("_sync_account", nameSchedule); // My account
        calendar.put("_sync_account_type", "com.google");
        // calendar.put("_sync_id", 1); // null
        calendar.put("name", nameSchedule);
        calendar.put("displayName", nameSchedule);
        calendar.put("hidden", 0);
        calendar.put("color", 0xFF008080);
        calendar.put("access_level", 700);
        calendar.put("selected", 1); // 0
        calendar.put("sync_events", 1);
        // calendar.put("createdByCategory", 0); //Doesn't work on Motorola
        // Droid / Milestone
        calendar.put("timezone",  TimeZone.getDefault().getID());
        calendar.put("ownerAccount", nameSchedule);
        Uri calendarUri = Uri.parse(CalendarBase);
        Uri insertCalendarUri = ActivitySource.getContentResolver().insert(calendarUri, calendar);
        return ContentUris.parseId(insertCalendarUri);
    } catch (Exception e) {
        return -1;
    }
}

日历已成功创建,因为我可以在日历应用中看到它。但重启手机后,日历不再存在。怎么了?

1 个答案:

答案 0 :(得分:0)

请勿在name,ownerAccount和_sync_account中使用' - ,$'等特殊字符。一切都会好起来的。)