如何启动Android日历应用程序Lower4.0(冰淇淋)?

如何启动Android日历应用程序Lower4.0(冰淇淋)?,android,android-intent,calendar,Android,Android Intent,Calendar,我希望启动Android系统日历界面,插入一个新的事件 我在4.0(IceCream)上使用了下面的代码,它可以工作 Intent calIntent = new Intent(Intent.ACTION_INSERT); calIntent.setType("vnd.android.cursor.item/event"); calIntent.putExtra("title", summary); calIntent.putExtra("description", description);

我希望启动Android系统日历界面,插入一个新的事件

我在4.0(IceCream)上使用了下面的代码,它可以工作

Intent calIntent = new Intent(Intent.ACTION_INSERT);
calIntent.setType("vnd.android.cursor.item/event");
calIntent.putExtra("title", summary);
calIntent.putExtra("description", description);
calIntent.putExtra("beginTime", startts);
calIntent.putExtra("endTime", stopts);
startActivity(calIntent);
但在GingerBread(2.3)或Froyo(2.2)上失败了,我得到了一个NoActivityFound异常:没有找到处理意图的活动

在4.0以下是否有打开Android系统日历的方法


我看到一些关于我的问题的线索。所有答案都会立即将事件插入日历,而不启动系统日历。我希望启动系统日历,让用户确认是否要插入事件。

CalendarContract内容提供程序已添加到API级别14的Android SDK中。这组API允许第三方开发人员访问和操作用户日历数据,前提是用户已在设备上配置了日历应用程序。用户可能没有配置日历支持,或者可能有多个日历实例(工作与娱乐)

支持较旧的Android设备


不幸的是,
此日历API与平台的旧版本(Android 4.0或API Level 14之前)不向后兼容。
这些功能不是最新支持包的一部分,我们不希望在将来的版本中看到它。如果您的应用程序必须尝试在较旧的平台版本上使用日历,请参阅我们的另一篇关于非官方访问用户日历的文章,但请理解您使用它并没有遵循Android最佳实践。话虽如此,两者之间的差异却出人意料地小。实际上,CalendarContract记录了以前未记录的API。某些值已更改,但创建兼容接口以与旧版本和新版本一起使用可能会满足需要。但是,有些老式手机无法使用未记录的方法,因此解决方案仍然不完美。

谢谢你的回答,迪帕克。你能分享我们另一篇文章的链接吗?谢谢大家!@弗兰克斯坦,我想迪帕克说的是。请参阅支持旧Android设备的段落标题。这提到了如何在旧版本上使用日历HMMM。。。一些他们仍然没有包含在支持库中的内容,例如PreferenceFragments。