В приложении для 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 в этом отношении? (даже известный дефект, о котором я еще не нашел в Интернете, позволил бы мне забыть об этом)