java.lang.NumberFormatException:无效的int:“”

时间:2013-12-13 19:08:20

标签: java android

调试代码时遇到问题。我在第88行遇到java.lang.NumberFormatException: Invalid int: ""错误Calendar c = Calendar.getInstance();。我不明白Calendar实例如何产生这样的错误。

WakefulReceiverWorker.java:

    Calendar c = Calendar.getInstance();   // <----- line 88
    long newStart = c.getTimeInMillis() + 300000;
    AlarmManager mAlarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
    PendingIntent pendingIntent = PendingIntent.getBroadcast(this, randomInt, intent2,PendingIntent.FLAG_UPDATE_CURRENT);
    mAlarmManager.set(AlarmManager.RTC_WAKEUP, (newStart), pendingIntent);

logcat的:

12-13 19:57:01.589    2070-2085/com.example.app W/System.err﹕ java.lang.NumberFormatException: Invalid int: ""
12-13 19:57:01.619    2070-2085/com.example.app W/System.err﹕ at java.lang.Integer.invalidInt(Integer.java:138)
12-13 19:57:01.629    2070-2085/com.example.app W/System.err﹕ at java.lang.Integer.parseInt(Integer.java:359)
12-13 19:57:01.639    2070-2085/com.example.app W/System.err﹕ at java.lang.Integer.parseInt(Integer.java:332)
12-13 19:57:01.639    2070-2085/com.example.app W/System.err﹕ at java.util.Calendar.getHwFirstDayOfWeek(Calendar.java:807)
12-13 19:57:01.639    2070-2085/com.example.app W/System.err﹕ at java.util.Calendar.<init>(Calendar.java:745)
12-13 19:57:01.639    2070-2085/com.example.app W/System.err﹕ at java.util.GregorianCalendar.<init>(GregorianCalendar.java:338)
12-13 19:57:01.649    2070-2085/com.example.app W/System.err﹕ at java.util.GregorianCalendar.<init>(GregorianCalendar.java:239)
12-13 19:57:01.649    2070-2085/com.example.app W/System.err﹕ at java.util.Calendar.getInstance(Calendar.java:1086)
12-13 19:57:01.649    2070-2085/com.example.app W/System.err﹕ at com.example.app.WakefulReceiverWorker.onHandleIntent(WakefulReceiverWorker.java:88)
12-13 19:57:01.659    2070-2085/com.example.app W/System.err﹕ at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:65)
12-13 19:57:01.659    2070-2085/com.example.app W/System.err﹕ at android.os.Handler.dispatchMessage(Handler.java:99)
12-13 19:57:01.659    2070-2085/com.example.app W/System.err﹕ at android.os.Looper.loop(Looper.java:137)
12-13 19:57:01.659    2070-2085/com.example.app W/System.err﹕ at android.os.HandlerThread.run(HandlerThread.java:60)

3 个答案:

答案 0 :(得分:3)

我刚刚测试了三星Galaxy S3(i9300)上的应用程序,此设备上没有错误。这似乎是华为的软件问题。

答案 1 :(得分:0)

试试这个:

  Calendar calendar = new GregorianCalendar();

不确定为什么你的工作不起作用,但Calendar是一个抽象类,所以如果你尝试GregorianCalendar它可能会更好。

答案 2 :(得分:0)

尝试以这种方式实例化日历:

Locale locale = Locale.getDefault();
System.out.println("Locale is : [" + locale + "]"); // make sure there is a default Locale
Calendar calendar = Calendar.getInstance(locale);

-----更新------
如果你经历了堆栈跟踪,看起来这就是罪魁祸首:

12-13 19:57:01.639    2070-2085/com.example.app W/System.err﹕ at java.util.Calendar.getHwFirstDayOfWeek(Calendar.java:807)

因为堆栈跟踪中的下一行开始解析整数,可能是getHwFirstDayOfWeek()返回的值。