我们正在从我们的Android应用程序设置一些日历事件,现在我们想要将一些URI或Intent与事件数据一起传递给日历,这样如果用户点击该链接,它将启动我们的应用程序。
它已经在iOS中实现,所以同样的功能客户端也想在android中。你可以查看iOS。
答案 0 :(得分:0)
我找到了针对Android API 16级及以上的以下解决方案
<intent-filter> <action android:name="android.provider.calendar.action.HANDLE_CUSTOM_EVENT" /> <category android:name="android.intent.category.DEFAULT" /> <data android:mimeType="vnd.android.cursor.item/event" /> </intent-filter>
ContentResolver cr = context.getContentResolver(); ContentValues values = new ContentValues(); TimeZone timeZone = TimeZone.getDefault(); values.put(CalendarContract.Events.DTSTART, startTimeInMilliSeconds); values.put(CalendarContract.Events.DTEND, endTimeInMilliSeconds); values.put(CalendarContract.Events.EVENT_TIMEZONE, timeZone.getID()); values.put(CalendarContract.Events.TITLE, title); values.put(CalendarContract.Events.DESCRIPTION,desc); values.put(CalendarContract.Events.CALENDAR_ID, 3); values.put(CalendarContract.Events.CUSTOM_APP_PACKAGE, "com.my.pkg");//your app package values.put(CalendarContract.Events.CUSTOM_APP_URI,"https://www.my.pkg.com/eventID/");
创建日历活动后,它会在日历活动的详细信息中显示您的应用图标和应用名称。
已知问题:
此解决方案适用于所有谷歌设备(Nexus设备)或任何具有android os而没有任何公司定制(Moto g等)的设备