
我的目标是阅读和编写日历.
我能够从内容中读取数据:// calendar / calendars和content:// calendar / events
String uriString = "content://calendar/calendars"; Log.i("INFO", "Reading content from " + uriString); readContent(uriString); uriString = "content://calendar/events"; Log.i("INFO", "Reading content from " + uriString); readContent(uriString);private voID readContent(String uriString) { Uri uri = Uri.parse(uriString); Cursor cursor = mContext.getContentResolver().query(uri, null, null, null, null); if (cursor != null && cursor.getCount() > 0) { cursor.movetoFirst(); String columnnames[] = cursor.getColumnnames(); String value = ""; String colnamesstring = ""; do { value = ""; for (String colname : columnnames) { value += colname + " = "; value += cursor.getString(cursor.getColumnIndex(colname)) + " ||"; } Log.e("INFO : ", value); } while (cursor.movetoNext()); } }我也在日历中插入新记录,如:
String calUriString = "content://calendar/calendars"; ContentValues values = new ContentValues(); values.put("name", "Code Generate Calendar"); values.put("displayname", "Code Generate Calendar"); values.put("hIDden", 0); values.put("color", "-7581685"); values.put("access_level", "700"); values.put("selected", "1"); values.put("timezone", "Asia/Karachi"); Uri calendarUri = context.getContentResolver().insert( Uri.parse(calUriString), values);但它没有出现在日历中.
当我要在日历中插入新事件时:
ContentValues values = new ContentValues(); values.put("calendar_ID", 4); values.put("dtend", "1277337600000"); values.put("dtstart", "1277251200000"); // values.put("Title", "first TEst event"); values.put("transparency", 1); values.put("selected", 1); values.put("color", "-16380578"); // values.put("lastDate", "6/25/2010"); //values.put("access_level", 700); values.put("eventStatus", 1); values.put("eventTimezone", "UTC"); values.put("timezone", "Asia/Karachi"); values.put("allDay", 1); String eventUriString = "content://calendar/events"; Uri eventUri = context.getContentResolver().insert( Uri.parse(eventUriString), values);抛出该列无效的异常.
怎么可能.
谢谢
解决方法:
日历内容提供商不是AndroID SDK的一部分.它之前的AndroID版本之间已经发生了变化,并将再次发布.它可能无法在某些已使用自己的应用程序替换默认日历应用程序的设备上运行.
Do not use undocumented content providers.
解决方案与the question you asked 32 minutes previously相同 – 使用Google Calendar GData API来 *** 纵用户的日历.
总结以上是内存溢出为你收集整理的android – 读写日历全部内容,希望文章能够帮你解决android – 读写日历所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)