Codename One:从Calendar获取事件会抛出ArrayIndexOutOfBoundException

时间:2017-03-28 13:19:51

标签: codenameone

我正在尝试使用以下代码从用户设备日历中获取事件:

    Date from = new Date();
    java.util.Calendar c = java.util.Calendar.getInstance();
    c.add(java.util.Calendar.MONTH, 1);
    Date to = c.getTime();
    String calendarId = dc.openCalendar(calenderName, false);

    Collection <EventInfo> events = dc.getEvents(calendarId, from, to);

最后一行是抛出异常的地方,我完全不知道为什么。

我无法传递任何异常消息,因为CN1Lib无法在ide或模拟器中进行调试,这使得很难在这里找到错误。

进入Exception时,它只是告诉我:

Error
An internal application error occurred: java.lang.ArrayIndexOutOfBoundsException: null

提前致谢

1 个答案:

答案 0 :(得分:1)

模拟器中不支持

DeviceCalendar,因此它将始终抛出异常。

您只能在设备上获取活动并在设备上调试此代码段,将其打包在try-catch中并使用Log.sendLog()获取您正在使用的电子邮件中的StackTrace与代号一。

请务必在完成后删除Log.sendLog(),否则,您可能会收到error log封电子邮件的垃圾邮件。

try {
    //DeviceCalendar Code snippet here
} catch (Exception ex) {
   Log.e(ex);
   Log.sendLog();
}