Java android中的Asyntask并行运行错误
我在android服务中有一些代码,一个计时器,每3秒钟运行一次Asyntask。但有时我会犯这样的错误:Java android中的Asyntask并行运行错误,java,android,android-asynctask,android-service,Java,Android,Android Asynctask,Android Service,我在android服务中有一些代码,一个计时器,每3秒钟运行一次Asyntask。但有时我会犯这样的错误: 03-21 08:56:48.928: E/AndroidRuntime(26870): FATAL EXCEPTION: AsyncTask #3 03-21 08:56:48.928: E/AndroidRuntime(26870): java.lang.RuntimeException: An error occured while executing doInBackground(
03-21 08:56:48.928: E/AndroidRuntime(26870): FATAL EXCEPTION: AsyncTask #3
03-21 08:56:48.928: E/AndroidRuntime(26870): java.lang.RuntimeException: An error occured while executing doInBackground()
03-21 08:56:48.928: E/AndroidRuntime(26870): at android.os.AsyncTask$3.done(AsyncTask.java:299)
03-21 08:56:48.928: E/AndroidRuntime(26870): at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:273)
03-21 08:56:48.928: E/AndroidRuntime(26870): at java.util.concurrent.FutureTask.setException(FutureTask.java:124)
03-21 08:56:48.928: E/AndroidRuntime(26870): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:307)
03-21 08:56:48.928: E/AndroidRuntime(26870): at java.util.concurrent.FutureTask.run(FutureTask.java:137)
03-21 08:56:48.928: E/AndroidRuntime(26870): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
03-21 08:56:48.928: E/AndroidRuntime(26870): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
03-21 08:56:48.928: E/AndroidRuntime(26870): at java.lang.Thread.run(Thread.java:856)
03-21 08:56:48.928: E/AndroidRuntime(26870): Caused by: java.lang.NullPointerException
03-21 08:56:48.928: E/AndroidRuntime(26870): at Dic.proj.pkg.notifService$check_last_asyn.doInBackground(notifService.java:251)
03-21 08:56:48.928: E/AndroidRuntime(26870): at Dic.proj.pkg.notifService$check_last_asyn.doInBackground(notifService.java:1)
03-21 08:56:48.928: E/AndroidRuntime(26870): at android.os.AsyncTask$2.call(AsyncTask.java:287)
03-21 08:56:48.928: E/AndroidRuntime(26870): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
03-21 08:56:48.928: E/AndroidRuntime(26870): ... 4 more
我不知道为什么。但我有一个猜测。我的服务从以下代码的主要活动开始:
Intent service = new Intent(DictionaryActivity.this, notifService.class);
DictionaryActivity.this.startService(service);
我想我第一次开始我的服务是通过打开主要活动。第二次,当我进入主活动时,服务再次启动,我的asyntask并行运行,这导致了这个错误
有没有办法检查服务是否已经启动,然后不再启动?如何解决我的问题?您有一个
NullPointerException
——您的一个成员未分配。单步通过doInBackgound
查找哪一个,或者双击logcat条目。发布您的doInBackground代码。。