在服务中使用Timer为何出错

明心如月 2012-10-30 08:33:56
我在自定义的service中使用了一个Timer,
timer.schedule(new MyTimerTask(), delay * 1000, 60 * 1000);
加入该语句之后无法启动服务,注释掉该语句之后就可以启动服务了。求高手指教。
错误如下:10-18 23:58:33.024: E/AndroidRuntime(1467): FATAL EXCEPTION: main
10-18 23:58:33.024: E/AndroidRuntime(1467): java.lang.RuntimeException: Unable to start service net.samming.alarm.service.MyAlarmService@40518e40 with Intent { cmp=net.samming.alarm/.service.MyAlarmService }: java.lang.NullPointerException: println needs a message
10-18 23:58:33.024: E/AndroidRuntime(1467): at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:2027)
10-18 23:58:33.024: E/AndroidRuntime(1467): at android.app.ActivityThread.access$2800(ActivityThread.java:117)
10-18 23:58:33.024: E/AndroidRuntime(1467): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:991)
10-18 23:58:33.024: E/AndroidRuntime(1467): at android.os.Handler.dispatchMessage(Handler.java:99)
10-18 23:58:33.024: E/AndroidRuntime(1467): at android.os.Looper.loop(Looper.java:123)
10-18 23:58:33.024: E/AndroidRuntime(1467): at android.app.ActivityThread.main(ActivityThread.java:3647)
10-18 23:58:33.024: E/AndroidRuntime(1467): at java.lang.reflect.Method.invokeNative(Native Method)
10-18 23:58:33.024: E/AndroidRuntime(1467): at java.lang.reflect.Method.invoke(Method.java:507)
10-18 23:58:33.024: E/AndroidRuntime(1467): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
10-18 23:58:33.024: E/AndroidRuntime(1467): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
10-18 23:58:33.024: E/AndroidRuntime(1467): at dalvik.system.NativeStart.main(Native Method)
10-18 23:58:33.024: E/AndroidRuntime(1467): Caused by: java.lang.NullPointerException: println needs a message
10-18 23:58:33.024: E/AndroidRuntime(1467): at android.util.Log.println_native(Native Method)
10-18 23:58:33.024: E/AndroidRuntime(1467): at android.util.Log.i(Log.java:158)
10-18 23:58:33.024: E/AndroidRuntime(1467): at net.samming.alarm.service.MyAlarmService.onStart(MyAlarmService.java:76)
10-18 23:58:33.024: E/AndroidRuntime(1467): at android.app.Service.onStartCommand(Service.java:428)
10-18 23:58:33.024: E/AndroidRuntime(1467): at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:2014)
10-18 23:58:33.024: E/AndroidRuntime(1467): ... 10 more
其中为了查看错误,
try {
timer.schedule(new MyTimerTask(), delay*1000, 60*1000);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
Log.i("ALARM",e.getMessage());
}
我用try-catch包围了timer执行语句,MyAlarmService.java:76就是Log.i()这一行
...全文
307 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
东东车 2012-11-05
  • 打赏
  • 举报
回复
尼玛,原来是你忘了实例化timer!
明心如月 2012-10-31
  • 打赏
  • 举报
回复
写代码要小心,哈哈
[Quote=引用 3 楼 的回复:]

尼玛,原来是你忘了实例化timer!
[/Quote]
lqgyt1 2012-10-30
  • 打赏
  • 举报
回复
尼玛,原来是你忘了实例化timer!
明心如月 2012-10-30
  • 打赏
  • 举报
回复
谁来把。。。送分了
明心如月 2012-10-30
  • 打赏
  • 举报
回复
尼玛,原来是我忘了实例化timer!

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧