Добавить в Календарь на HTC One, не обрабатывающем конечное значение события

В приложении для Android я пытаюсь добавить событие в собственный календарь. Этот код отлично работает на многих других устройствах (4.4.2 или 5.0.2, Nexus 7, Nexus 9, других телефонах), но не работает на HTC One, который настаивает на том, что я передаю ему одночасовое событие.

Отладка показывает, что данные передаются правильно, и все протестированные устройства сообщают об одних и тех же значениях для одного и того же события, даже HTC One.

04-01 14:13:32.545 ...﹕ sendAddToCalendarIntent
04-01 14:13:32.545 ...﹕ title: Spring Break
04-01 14:13:32.545 ...﹕ start: 1427811600000
04-01 14:13:32.545 ...﹕ end  : 1428099600000

Код для запуска Intent ниже:

// Creating intent for native Calendar App
Intent intent = new Intent(Intent.ACTION_INSERT)
        .setData(Events.CONTENT_URI)
        .putExtra(Events.TITLE, title)
        .putExtra(Events.DESCRIPTION, content)
        .putExtra(Events.EVENT_LOCATION, location)
        .putExtra(CalendarContract.EXTRA_EVENT_BEGIN_TIME, startTime);
if (endTime == -1) {
    intent.putExtra(CalendarContract.EXTRA_EVENT_ALL_DAY, true);
} else {
    intent.putExtra(CalendarContract.EXTRA_EVENT_END_TIME, endTime);
}
startActivity(intent);

Есть ли что-то «уникальное» в HTC One в этом отношении? (даже известный дефект, о котором я еще не нашел в Интернете, позволил бы мне забыть об этом)


person railsdog    schedule 08.04.2015    source источник


Ответы (1)


да, я думаю, что это "ошибка" для HTC. Я потратил много времени на исследования и попытки исправить эту проблему «только на один час вперед», так как впервые столкнулся с ней пару лет назад. Я думаю, что есть и другие устройства, которые не работают идеально или нестандартно для Календаря устройства, но из тех, что мне удалось протестировать, я не могу найти только устройства HTC. обходной путь для правильного ввода всех сведений о событии.

Намерение, которое открывает новую активность события календаря, это единственный другой вопрос, который я видел решение этой конкретной проблемы, но, как и вы, я знаю, что нет ничего плохого в передаче данных.

person lanakin    schedule 08.12.2015