Android,如果共享日历获取ID

时间:2016-12-02 09:52:34

标签: android calendar

我尝试在与我共享的日历上设置活动。我知道我应该使用日历的id。但是我有问题。这是我的代码:

@OnClick(R.id.add_event_button)
    public void addEvent() {

        CalendarDB calendar = (CalendarDB) mCalendarSpinner.getSelectedItem();
        Long id = calendar.getId();
        ContentValues event = new ContentValues();
        event.put("calendar_id", 1);
        event.put(CalendarContract.Events.EVENT_TIMEZONE, "Europe/Berlin");  // Here choose your location time zone
        event.put("title", "test application");
        event.put("description",  "This is test event");
        event.put("eventLocation", "School");
        event.put("dtstart", System.currentTimeMillis());
        event.put("dtend", System.currentTimeMillis() + 1800 * 1000);
        event.put("allDay", 0);
        // status: 0~ tentative; 1~ confirmed; 2~ canceled
        // event.put("eventStatus", 1);
        event.put(CalendarContract.Events.CALENDAR_ID,8);
        Uri l_eventUri;
        if (Build.VERSION.SDK_INT >= 8) {
            l_eventUri = Uri.parse("content://com.android.calendar/events");
        } else {
            l_eventUri = Uri.parse("content://calendar/events");
        }
        Uri l_uri = this.getContentResolver()
                .insert(l_eventUri, event);
        Toast.makeText(this, "SUCCESS", Toast.LENGTH_SHORT).show();

        }

然而,正在添加工作和事件,日历的ID是未知的 - 我的意思是我尝试手动设置它们 - 1,2,3等等,并弄清楚将添加哪个日历事件。谷歌API站点说id应该是Long,当我得到日历列表时,我得到字符串作为id - 日历的名称。同样的情况在android.provider CalendarContract.class中:

public static final String CALENDAR_ID = "calendar_id";

当我将该id设置为参数时,应用程序崩溃 - 它需要Long参数。那么,我怎样才能获得共享日历的ID?在此先感谢您的帮助:)

1 个答案:

答案 0 :(得分:1)

What is the easiest way to get the current day of the week in Android?

因此,您将获得当天的日期和获得当前日期的方式相同,并以相同的方式获取相同日期的天数。现在就算吧