我希望启动Android系统的日历UI来插入一个新的事件。
我在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以下的安卓系统日历?
我看到一些关于我的问题的帖子。所有回答都会立即将事件插入到日历中,而无需启动系统日历。我希望启动系统日历,让用户确认他们是否想要插入事件。
发布于 2012-12-22 13:37:27
CalendarContract内容提供商是在API级别14中添加到Android SDK中的。这组API允许第三方开发人员访问和操作用户日历数据,前提是用户已经在设备上配置了日历应用程序。用户可能没有配置日历支持,或者他们可能有多个日历实例(工作与娱乐)。
支持旧版安卓设备的
不幸的是,this Calendaring APIs are not backwards compatible with older versions of the platform (prior to Android 4.0, or API Level 14).这些功能不是最新支持包的一部分,我们不希望在未来的修订中看到它。如果您的应用程序必须尝试在旧平台版本上使用日历,请参阅我们关于非官方访问用户日历的其他文章,但请理解您使用它并不是遵循Android的最佳实践。话虽如此,但两者之间的差别令人惊讶地微乎其微。实际上,CalendarContract记录了以前未记录的API。某些值发生了更改,但对于需要兼容性接口的用户,可以创建一个兼容接口来与旧版本和新版本一起使用。然而,在一些较旧的手机中,未记录的方法将不起作用,因此解决方案仍然不是完美的。
https://stackoverflow.com/questions/13999359
复制相似问题