【问题标题】:'Using an intent to insert an event' only partially working with third party apps?“使用意图插入事件”仅部分使用第三方应用程序?
【发布时间】:2013-12-11 22:17:46
【问题描述】:

我遇到了以下问题:

基于Android documentation,以下代码是创建“Add-Event-To-Calendar”-Intent 的官方方法。我从文档中复制了它,没有做任何改动。


new Intent(Intent.ACTION_INSERT)
                    .setData(CalendarContract.Events.CONTENT_URI)
                    .putExtra(CalendarContract.EXTRA_EVENT_BEGIN_TIME, beginTime.getTimeInMillis())
                    .putExtra(CalendarContract.EXTRA_EVENT_END_TIME, endTime.getTimeInMillis())
                    .putExtra(CalendarContract.Events.TITLE, "Yoga")
                    .putExtra(CalendarContract.Events.DESCRIPTION, "Group class")
                    .putExtra(CalendarContract.Events.EVENT_LOCATION, "The gym")
                    .putExtra(CalendarContract.Events.AVAILABILITY, CalendarContract.Events.AVAILABILITY_BUSY)
                    .putExtra(Intent.EXTRA_EMAIL, "rowan@example.com,trevor@example.com");

当 Intent 由 Google 自己的日历应用程序处理时,它就像一个魅力。然而,令人惊讶的是,第三方日历似乎接受 BEGIN_TIME 和 END_TIME,但忽略了 TITLE、DESCRIPTION 和 EVENT_LOCATION 等字段。

首先我想,这一定是第三方日历中的错误。但是当第二个出现同样的行为时,我就开始怀疑了。

这是两个日历应用程序。

他们为什么要注册处理 Intent,却忽略这些重要且有据可查的额外字段?

如果有人能解释一下就好了:)

【问题讨论】:

  • 我就这个问题联系了DigiCal的支持,得到了以下回复。 --- 感谢您的报告,它在我们的待办事项列表中等待实施。 ---

标签: android calendar android-calendar


【解决方案1】:

这是第三方应用程序的问题。他们没有实现所有字段。

【讨论】:

  • 这正是我的观察结果 :) 但他们为什么要这样做呢?他们已经为正确的意图注册了他们的应用程序,并且他们确实支持某些领域。但是他们为什么不支持他们所有人!?他们不太可能只是“忘记”支持所有领域。
  • 也许他们忘记了或者很久没有更新应用了。在过去的日历 API 是私有的。您对此无能为力,因为每个人都可以创建日历应用程序以及他想要的任何东西。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-20
  • 1970-01-01
  • 2020-10-27
  • 2022-01-08
  • 1970-01-01
相关资源
最近更新 更多