Android日历应用在创建新活动后崩溃

时间:2015-01-16 03:00:26

标签: android

我正在使用这段代码向日历添加新事件。

    ContentResolver cr = context.getContentResolver();
    ContentValues values = new ContentValues();
    values.put(Events.DTSTART, event.getStartTime());
    values.put(Events.DTEND, event.getEndTime());
    values.put(Events.TITLE, event.getSubject());
    values.put(Events.EVENT_LOCATION, event.getLocation());
    values.put(Events.DESCRIPTION, event.getDescription());
    values.put(Events.CALENDAR_ID, calendarId);
    values.put(Events.EVENT_TIMEZONE, TimeZone.getDefault().getID());
    Uri uri = cr.insert(Events.CONTENT_URI, values);

当这段代码运行时,它似乎根本就没有错误。但是,当我使用默认的Android日历应用程序打开日历时,当我尝试查看添加的事件时,它会崩溃。

Logcat返回此错误

01-15 21:57:24.091: E/AndroidRuntime(19125): android.database.sqlite.SQLiteException: 
unknown error (code 0): Unable to convert BLOB to string

我想在进入活动时我做错了什么。有什么想法吗?

编辑:

这是值

的转储

01-15 22:39:47.561:I / System.out(25804):值:calendar_id = 2 eventLocation = fndn title = dndbdb dtstart = 1421386255183 dtend = 1421389801672 description = fnfbd eventTimezone = America / New_York

1 个答案:

答案 0 :(得分:0)

代码对于添加事件是正确的。要解决此问题,请将所有源代码放入或调整断点以分析问题的上升位置。据我所知,你试图在事件之后或放置事件之前在sqllite数据库中保存一些东西,这是发生错误的地方,因为你传递的值不是根据为数据库中的变量定义的数据类型。