CalendarContract.Events.EVENT_TIMEZONE在三星设备中不起作用

问题描述 投票:0回答:1

我正在尝试从我的应用程序向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("20200116").append(", ").append("1045").toString());
        return d4.getTime();
    } catch (ParseException e) {
        return 0L;
    }
}

尝试了许多方法,但没有用。解决设备特定问题的任何帮助都将有所帮助。

android android-calendar
1个回答
0
投票

EVENT_TIMEZONE存在于CalendarContract.EventsColumns中。

您可以在这里找到:https://developer.android.com/reference/android/provider/CalendarContract.EventsColumns.html#EVENT_TIMEZONE

© www.soinside.com 2019 - 2024. All rights reserved.