gpt4 book ai didi

android - 如何将日历事件从浏览器发布到 Android 上的日历应用程序?

转载 作者:可可西里 更新时间:2023-11-01 16:43:22 25 4
gpt4 key购买 nike

我有一个发出日历事件的网络服务:http://calevent.herokuapp.com .在 iOS 上,该 URL 将打开一个日历弹出窗口,其中包含事件详细信息和一个允许用户添加到她的日历的按钮。在我的主要 Android 设备(运行 Android 4.1 的 Galaxy SIII)上,它会触发正常的文件下载。所需的行为类似于 iOS。

该服务设置了两个重要的 header :

  • 内容类型:文本/日历; charset=utf-8
  • Content-Disposition: inline; filename="event.ics"

我已经解码了我设备的日历应用“S Planner”的 list 。它没有为 text/calendar 数据定义任何 BROWSABLE Intent 过滤器。它定义的是一些我不确定是否可以(滥用)使用的特定于 Google 日历的内容。

这是来自 Vanilla 的 Calendar app :

<activity android:name="GoogleCalendarUriIntentFilter" android:label="@string/app_label"
android:theme="@android:style/Theme.NoDisplay"
android:configChanges="orientation|keyboardHidden">

<intent-filter
android:priority="50">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="http" android:host="www.google.com" android:pathPrefix="/calendar/event" />
<data android:scheme="https" android:host="www.google.com" android:pathPrefix="/calendar/event" />
<data android:scheme="http" android:host="www.google.com" android:pathPattern="/calendar/hosted/.*/event" />
<data android:scheme="https" android:host="www.google.com" android:pathPattern="/calendar/hosted/.*/event" />
</intent-filter>
</activity>

这是死胡同吗?还有其他不会影响用户体验的解决方案吗?

最佳答案

问题:

据我所知,Google 以开源方式提供Calendar 应用程序,Samsung、Htc、Sony 等设备制造商习惯于修改或发布自己的应用程序,在构建各自的 Android 源代码 代码时替换默认应用程序。

所以有两种可能:Google 没有在默认应用程序中添加此类功能,或者 Samsung 已通过修改源代码删除了该功能。

简而言之,这个任务很难甚至不可能完成。

当我遇到这个问题时,我应用了以下解决方案。

解决方案:

您可以在您的应用程序中像用户界面一样显示日历并在其中表示事件。

要创建此类界面,您可以根据需要使用第 3 方库。

首先以编程方式读取 event.ics 文件并提取其数据。然后使用第 3 方库,如 Caldroid ,您可以在其中表示特定日期的事件。

希望对您有所帮助!!

关于android - 如何将日历事件从浏览器发布到 Android 上的日历应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19382041/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com