java - 保存后日历的意图不会添加到日历中
问题描述
这是我用来将所有详细信息插入谷歌日历应用程序弹出窗口的代码。一切正常(正确的日期、标题、描述),除非您在日历弹出窗口中单击“保存”,它会显示:event saved successfully
但该事件实际上并未保存在日历中。
addToCalendar.setOnClickListener(v -> {
Calendar beginTime = Calendar.getInstance();
beginTime.set(datumvonCalendar.getJahr(),datumvonCalendar.getMonat(),datumvonCalendar.getTag(),zeitvonCalendar.getStunde(),zeitvonCalendar.getMinute(),0);
Calendar endTime = Calendar.getInstance();
endTime.set(datumbisCalendar.getJahr(),datumbisCalendar.getMonat(),datumbisCalendar.getTag(),zeitbisCalendar.getStunde(),zeitbisCalendar.getMinute(),0);
Long millisEnd = endTime.getTimeInMillis();
Long millisStart = beginTime.getTimeInMillis();
Intent intent = new Intent(Intent.ACTION_INSERT);
intent.setData(CalendarContract.Events.CONTENT_URI);
intent.putExtra(CalendarContract.EXTRA_EVENT_BEGIN_TIME,millisStart);
intent.putExtra(CalendarContract.EXTRA_EVENT_END_TIME,millisEnd);
intent.putExtra(CalendarContract.Events.EVENT_TIMEZONE,"Europe/Berlin");
intent.putExtra(CalendarContract.Events.TITLE,headerTxt.getText().toString());
intent.putExtra(CalendarContract.Events.DESCRIPTION,beschreibungTxt.getText().toString());
fragment.startActivity(intent);
});
解决方案
建议:
看来您的代码确实没有任何问题,也许您可以尝试以下方法:
Calendar beginTime = Calendar.getInstance();
beginTime.set(datumvonCalendar.getJahr(),datumvonCalendar.getMonat(),datumvonCalendar.getTag(),zeitvonCalendar.getStunde(),zeitvonCalendar.getMinute(),0);
Calendar endTime = Calendar.getInstance();
endTime.set(datumbisCalendar.getJahr(),datumbisCalendar.getMonat(),datumbisCalendar.getTag(),zeitbisCalendar.getStunde(),zeitbisCalendar.getMinute(),0);
Long millisEnd = endTime.getTimeInMillis();
Long millisStart = beginTime.getTimeInMillis();
Intent intent = new Intent(Intent.ACTION_INSERT, CalendarContract.Events.CONTENT_URI);
intent.putExtra(CalendarContract.EXTRA_EVENT_BEGIN_TIME,millisStart);
intent.putExtra(CalendarContract.EXTRA_EVENT_END_TIME,millisEnd);
intent.putExtra(CalendarContract.Events.EVENT_TIMEZONE,"Europe/Berlin");
intent.putExtra(CalendarContract.Events.TITLE,headerTxt.getText().toString());
intent.putExtra(CalendarContract.Events.DESCRIPTION,beschreibungTxt.getText().toString());
fragment.startActivity(intent);
此外,您可能需要确保您的
Begin
时间End
设置正确。
参考:
推荐阅读
- python - 检测 Discord.py 中的嵌入
- api - Kivy 注册/登录为烧瓶 api
- apache-spark - 如何将特定的火花节点定义为分区键?
- android - 我有一个问题,如果我使用 firebase facebook 登录如何获取用户名或电子邮件?
- html - 在有序列表中嵌入 html 表格会导致错位
- mongodb-query - mongodb 聚合 - 将数组的内容设置为输入,同时存储兄弟键
- sql - SQL where 括号
- php - Bitrix Ошибка SMTP connect() failed при отправке форма заявки
- r - combn(unique(x), 2, paste, collapse = " and ") 中的错误:n < m
- typescript - TypeScript + Vue:打开 index.html 时加载静态 json 配置