Добавить событие календаря в приложение для Android - PullRequest
4 голосов
/ 11 февраля 2011

Я пишу приложение, которое должно записывать события в календарь в фоновом режиме, без ввода данных пользователем после настройки приложения. Это означает, что методы, в которых событие создается с использованием Intents, не те, что мне нужны.

Я нашел этот код на веб-сайте, но он не работает:

    long start = 1297512000; // 2011-02-12 12h00
    long end = 1297515600;   // 2011-02-12 13h00

    String title = "TEST ENTRY - DELETE ME!!"; 

    ContentValues cvEvent = new ContentValues();
    cvEvent.put("calendar_id", 1);
    cvEvent.put("title", title);
    cvEvent.put("dtstart", start );
    //cvEvent.put("hasAlarm", 1);
    cvEvent.put("dtend", end);

    getContentResolver().insert(Uri.parse("content://com.android.calendar/events"), cvEvent);

Теперь, до того, как кто-нибудь подтвердит, что "Google НАСТОЯТЕЛЬНО рекомендует не использовать этот метод" или что-то подобное, я уже знаю это.

Кто-нибудь получил это работает? Я запускаю Gingerbread на своем устройстве, так что это может вызвать проблему!

Единственная альтернатива, которую я нашел, - это использовать API GData, но тогда мне нужно пройти аутентификацию, поэтому вышеприведенное лучше ... Есть приложения, которые не требуют аутентификации, поэтому они тоже должны использовать это. ! :)

Если кто-то может помочь, пожалуйста, сделайте!

Спасибо Neil

Ответы [ 2 ]

1 голос
/ 15 февраля 2012

Возникла проблема с датами при конвертации.Я заканчивал с датой в 1970-ых, но ожидал дату февраля 2011 года.

Использование другого конвертера эпох показало, что у меня было 3 пропущенных 0.

0 голосов
/ 11 февраля 2011

У меня было приложение, которое делало это, но и HTC Sense UI, и Motorola Motoblur сломали эту функциональность на многих телефонах, и я не смог найти ни одного исправления.Жаль, что Google не может застегнуть эти API-интерфейсы и сделать их правильно доступными на всех устройствах.Похоже, что базовая функциональность должна быть просто в SDK мобильного устройства.Я знаю, что он есть в Blackberry SDK.

Я ЛЮБЛЮ, чтобы иметь возможность сделать это, поэтому, если вы найдете способ, пожалуйста, опубликуйте его здесь, чтобы я мог его увидеть.Однако я бы предостерег от того, чтобы тратить на это много времени, поскольку я просто не думаю, что вы сможете заставить это работать на любом устройстве, кроме небольшого набора устройств Android.

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