我想在我的应用添加的日历活动的描述中添加一个深层链接。 所以基本上,有一些与事件相关的信息会随着时间而变化,因此用户在应用程序中打开相关资源是有意义的。我的深层链接看起来像那样:// resource /?somekey = somevalue
日历(可能也是设备特定的,在这种情况下是在galaxy s7上)并没有将其标记为链接,这会吸引用户体验。
除了使用标准格式“http://experience.com/resource/?somekey=somevalue”(日历似乎能识别)之外,有没有办法让它成为可点击链接?我不想让它看起来像一个网络资源,因为它不是。
我已经尝试将其包装在html标签中,但这并没有成功。
连连呢? :)
答案 0 :(得分:1)
我遇到了同样的问题,如果有人在寻找答案。那就是我的解决方法。
首先,您需要添加清单(如果用户单击链接,则打开活动)。
<activity
android:name=".ui.splash.SplashActivity"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<!-- Accepts URIs that begin with "myapp://home” -->
<data android:scheme="myapp"
android:host="home" />
</intent-filter>
</activity>
在创建日历意图或在应用程序内创建事件(ContentValues)时,请在“描述”选项(“ CalendarContract.Events.DESCRIPTION”参数)中创建如下字符串:
科特琳:
val description = "<div>This is the description</div>" +
"<div><a href=\"myapp://home\">myapp://home</a></div>";
Java:
String description = "<div>This is the description</div>" +
"<div><a href=\"myapp://home\">myapp://home</a></div>";
然后将其添加到您的描述参数中。
例如:
创建意图以打开日历,请参见https://developer.android.com/guide/topics/providers/calendar-provider.html#intents
intent.putExtra(CalendarContract.Events.DESCRIPTION, description);
添加ContentValues以在应用程序内部创建事件,请参见https://developer.android.com/guide/topics/providers/calendar-provider.html#add-event
contentValues.put(CalendarContract.Events.DESCRIPTION, description);