Android Календарь DTSTART и DTEND горе - PullRequest
3 голосов
/ 27 июля 2011

Мне нужно вставить запись календаря в мое приложение для Android.Теперь я знаю, что не должен использовать этот метод, но все же.И я уверен, что я не единственный в округе ... Я провел довольно много поисков в стеке потока и в Интернете, чтобы добраться до того места, где я сейчас нахожусь со своим кодом.

Дело в том,событие появляется, но в неправильную дату, например 1972. Что я делаю не так?

Вот мой код:

private void insertCalendar(int calChoice) {
    ContentValues event = new ContentValues();
    event.put("calendar_id", calChoice);
    event.put("title", "WOOT");
    event.put("description", "Wootification");
    event.put("eventLocation", "Wootness");
    event.put("allDay", 0); 
    event.put("eventStatus", 1);
    event.put("visibility", 0);
    event.put("transparency", 0);
    event.put("hasAlarm", 0);

    Calendar start = Calendar.getInstance();
    start.set(2011, 7, 27, 8, 0, 0);

    Calendar end = Calendar.getInstance();
    end.set(2011, 7, 27, 9, 0, 0);

    long startTime = start.getTimeInMillis();       
    startTime = startTime * 1000;

    long endTime = end.getTimeInMillis();
    endTime = endTime * 1000;

    event.put("dtstart", startTime);
    event.put("dtend", endTime);

    Uri eventsUri = Uri.parse("content://com.android.calendar/events");
    getContentResolver().insert(eventsUri, event);
}

1 Ответ

6 голосов
/ 15 ноября 2011

Почему вы умножаете на 1000?

getTimeMillis уже возвращает миллисекунды.

Вы, кажется, переполнены, проходя мимо своей даты в 1000 раз.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...