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

我在调试代码时遇到问题。 我收到了java.lang.NumberFormatException: Invalid int: ""第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.(Calendar.java:745) 12-13 19:57:01.639 2070-2085/com.example.app W/System.err﹕ at java.util.GregorianCalendar.(GregorianCalendar.java:338) 12-13 19:57:01.649 2070-2085/com.example.app W/System.err﹕ at java.util.GregorianCalendar.(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) 

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

尝试这个:

  Calendar calendar = new GregorianCalendar(); 

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

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

 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()返回的值。