CalendarContract.Events.EVENT_TIMEZONE не работает в устройстве Samsung - PullRequest
0 голосов
/ 17 февраля 2020

Я пытаюсь вставить некоторые события с определенным часовым поясом в android собственный календарь из моего приложения. Как-то не работает в устройствах Samsung. Он отлично работает на устройствах Pixel. Ниже приведен фрагмент кода для того же.

Intent intent = new Intent(Intent.ACTION_INSERT);
intent.putExtra(CalendarContract.Events.EVENT_TIMEZONE, "America/Los_Angeles");
intent.setData(CalendarContract.Events.CONTENT_URI);
intent.putExtra(CalendarContract.Events.TITLE, "test");
intent.putExtra(CalendarContract.EXTRA_EVENT_BEGIN_TIME, getDateTimeyyyymmddHHmm());
intent.putExtra(CalendarContract.Events.ALL_DAY, false);
intent.putExtra(CalendarContract.Events.DURATION, "PT1H");
startActivityForResult(intent, 1);

 public static Long getDateTimeyyyymmddHHmm() {
    TimeZone timeZone = TimeZone.getTimeZone("America/Los_Angeles");

    DateFormat dateFormat2 = new SimpleDateFormat("yyyyMMdd, HHmm", Locale.US);
    dateFormat2.setTimeZone(timeZone);
    Date d4 = null;
    try {
        d4 = dateFormat2.parse(new StringBuilder("20200216").append(", ").append("1045").toString());
        return d4.getTime();
    } catch (ParseException e) {
        return 0L;
    }
}

Пробовал много способов и не работает. Любая помощь в решении проблемы, связанной с устройством c, будет полезна.

1 Ответ

0 голосов
/ 17 февраля 2020

EVENT_TIMEZONE существует в CalendarContract.EventsColumns.

Вы можете найти здесь: https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns.html#EVENT_TIMEZONE

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