将日历活动与Android

时间:2017-03-28 06:35:15

标签: android calendar google-calendar-api android-studio-2.2

我正在开发一款Android应用,我必须将日历事件同步到我的应用日历中。我用以下代码完成了它。我该怎么办呢 活动参与者。

 public List<EventModel> readAndSaveCalendarEvent(Context context) {

    List<EventModel> events = new ArrayList<>();

    String[] EVENT_PROJECTION = new String[]{"calendar_id", "title", "description", "dtstart", "dtend", "eventLocation", "allDay", "_id"};
    String selection = "(deleted != 1)";
    Cursor cursor = context.getContentResolver().query(Uri.parse(CALENDAR_URI_BASE + "events"), EVENT_PROJECTION, selection, null, null);

    Integer contactsCount = cursor.getCount();
    if (contactsCount > 0) {
        while (cursor.moveToNext()) {

            EventModel model = new EventModel();

            try {
                model.calendarId = cursor.getString(0);
                model.event_title = cursor.getString(1);
                model.event_description = cursor.getString(2);

                String startDate = cursor.getString(3);
                Long startDateLong = startDate == null ? null : Long.parseLong(startDate);
                model.start_date = startDateLong == null ? null : DateHelper.getUtcFormatInLocalTZ(startDateLong);
                model.startDate = startDateLong == null ? 0 : startDateLong;

                String endDate = cursor.getString(4);
                Long endDateLong = endDate == null ? null : Long.parseLong(endDate);
                model.end_date = endDateLong == null ? null : DateHelper.getUtcFormatInLocalTZ(endDateLong);
                model.endDate = endDateLong == null ? 0 : endDateLong;

                model.isAllDay = cursor.getInt(6) == 1;
                model.setEventIdLocal(cursor.getLong(7));
                events.add(model);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }

        cursor.close();
    }

    // save new data into local database

    // delete existing calendar events
    DatabaseHelper.getInstance().getEventRepository().deleteCalendarEvents();

    String userId = SharedPreferenceHelper.getInstance().getUserId();

    DatabaseHelper helper = DatabaseHelper.getInstance();
    for (EventModel model : events) {
        model.setEvent_type(EventType.Custom.name());
        model.setCalendar(true);
        model.setUser_id(userId);

        if(model.getDescription() != null){

            String value = null;
            String[] data = model.getDescription().split(",");
            if(data.length > 0){
                value = data[0];
            }

            if(value != null && value.equalsIgnoreCase(Constant.SYNC_FROM_SCHEDULE)){
                model.setScheduleByMe(true);  // because don't want to show on calendar
                helper.getEventRepository().create(model);

            } else {
                model.setScheduleByMe(false);
                helper.getEventRepository().create(model);
            }

        } else {
            model.setScheduleByMe(false);
            helper.getEventRepository().create(model);
        }

        // change date time zone
        model.start_date = DateHelper.utcDateFormated(model.startDate);
        model.end_date = DateHelper.utcDateFormated(model.endDate);
    }
    return events;
}

问题是我想获得日历活动的参与者,但我无法得到它们。有些帖子建议将参数参加者传递给参数列表,但这不起作用。

任何人都可以帮助我从谷歌日历中添加活动的参与者,任何帮助将不胜感激。

提前致谢。

0 个答案:

没有答案