Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/193.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 空指针异常@stopService()_Android_Android Asynctask_Android Service - Fatal编程技术网

Android 空指针异常@stopService()

Android 空指针异常@stopService(),android,android-asynctask,android-service,Android,Android Asynctask,Android Service,在我的应用程序中,我启动了如下服务: startService(new Intent(SplashScreen.this, GetContactService.class)); class ABC extends AsyncTask<Void, Void, Void>{ @Override protected void onPreExecute() { // TODO Auto-generated method stub super

在我的应用程序中,我启动了如下服务:

startService(new Intent(SplashScreen.this, GetContactService.class));
class ABC extends AsyncTask<Void, Void, Void>{

    @Override
    protected void onPreExecute() {
        // TODO Auto-generated method stub
        super.onPreExecute();
        // my code snippet
    }
    @Override
    protected Void doInBackground(Void... params) {
        // TODO Auto-generated method stub
        // my code snippet
        return null;
    }

    @Override
    protected void onPostExecute(Void result) {
        // TODO Auto-generated method stub
        super.onPostExecute(result);

        //stopping the service which I have started earlier
        stopService(new Intent(TelaSketchUtil.this, GetContactService.class));
    }
}
启动服务后,我继续进行另一项活动,从按钮中单击,我启动了一个类似以下内容的Asyctask:

startService(new Intent(SplashScreen.this, GetContactService.class));
class ABC extends AsyncTask<Void, Void, Void>{

    @Override
    protected void onPreExecute() {
        // TODO Auto-generated method stub
        super.onPreExecute();
        // my code snippet
    }
    @Override
    protected Void doInBackground(Void... params) {
        // TODO Auto-generated method stub
        // my code snippet
        return null;
    }

    @Override
    protected void onPostExecute(Void result) {
        // TODO Auto-generated method stub
        super.onPostExecute(result);

        //stopping the service which I have started earlier
        stopService(new Intent(TelaSketchUtil.this, GetContactService.class));
    }
}
ABC类扩展异步任务{
@凌驾
受保护的void onPreExecute(){
//TODO自动生成的方法存根
super.onPreExecute();
//我的代码片段
}
@凌驾
受保护的Void doInBackground(Void…参数){
//TODO自动生成的方法存根
//我的代码片段
返回null;
}
@凌驾
受保护的void onPostExecute(void结果){
//TODO自动生成的方法存根
super.onPostExecute(结果);
//正在停止我先前启动的服务
stopService(新意图(TelaSketchUtil.this、GetContactService.class));
}
}
但在这里,它在后台运行正常,但在Post Execute中的stopService行上,它给出了一个空指针异常,如下所示:

日志:

04-23 15:25:21.705: W/dalvikvm(26710): threadid=1: thread exiting with uncaught exception (group=0x2b547210)
04-23 15:25:21.715: E/AndroidRuntime(26710): FATAL EXCEPTION: main
04-23 15:25:21.715: E/AndroidRuntime(26710): java.lang.NullPointerException
04-23 15:25:21.715: E/AndroidRuntime(26710):    at android.content.ContextWrapper.getPackageName(ContextWrapper.java:127)
04-23 15:25:21.715: E/AndroidRuntime(26710):    at android.content.ComponentName.<init>(ComponentName.java:75)
04-23 15:25:21.715: E/AndroidRuntime(26710):    at android.content.Intent.<init>(Intent.java:3146)
04-23 15:25:21.715: E/AndroidRuntime(26710):    at com.telasketch.misc.TelaSketchUtil$GetContactNumber.onPostExecute(TelaSketchUtil.java:225)
04-23 15:25:21.715: E/AndroidRuntime(26710):    at com.telasketch.misc.TelaSketchUtil$GetContactNumber.onPostExecute(TelaSketchUtil.java:1)
04-23 15:25:21.715: E/AndroidRuntime(26710):    at android.os.AsyncTask.finish(AsyncTask.java:602)
04-23 15:25:21.715: E/AndroidRuntime(26710):    at android.os.AsyncTask.access$600(AsyncTask.java:156)
04-23 15:25:21.715: E/AndroidRuntime(26710):    at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:615)
04-23 15:25:21.715: E/AndroidRuntime(26710):    at android.os.Handler.dispatchMessage(Handler.java:99)
04-23 15:25:21.715: E/AndroidRuntime(26710):    at android.os.Looper.loop(Looper.java:137)
04-23 15:25:21.715: E/AndroidRuntime(26710):    at android.app.ActivityThread.main(ActivityThread.java:4448)
04-23 15:25:21.715: E/AndroidRuntime(26710):    at java.lang.reflect.Method.invokeNative(Native Method)
04-23 15:25:21.715: E/AndroidRuntime(26710):    at java.lang.reflect.Method.invoke(Method.java:511)
04-23 15:25:21.715: E/AndroidRuntime(26710):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
04-23 15:25:21.705:W/dalvikvm(26710):threadid=1:线程退出时出现未捕获异常(组=0x2b547210)
04-23 15:25:21.715:E/AndroidRuntime(26710):致命异常:主
04-23 15:25:21.715:E/AndroidRuntime(26710):java.lang.NullPointerException
04-23 15:25:21.715:E/AndroidRuntime(26710):位于android.content.ContextWrapper.getPackageName(ContextWrapper.java:127)
04-23 15:25:21.715:E/AndroidRuntime(26710):位于android.content.ComponentName.(ComponentName.java:75)
04-23 15:25:21.715:E/AndroidRuntime(26710):在android.content.Intent.(Intent.java:3146)
04-23 15:25:21.715:E/AndroidRuntime(26710):在com.telasketch.misc.TelaSketchUtil$GetContactNumber.onPostExecute(TelaSketchUtil.java:225)
04-23 15:25:21.715:E/AndroidRuntime(26710):在com.telasketch.misc.TelaSketchUtil$GetContactNumber.onPostExecute(TelaSketchUtil.java:1)
04-23 15:25:21.715:E/AndroidRuntime(26710):在android.os.AsyncTask.finish(AsyncTask.java:602)上
04-23 15:25:21.715:E/AndroidRuntime(26710):在android.os.AsyncTask.access$600(AsyncTask.java:156)
04-23 15:25:21.715:E/AndroidRuntime(26710):位于android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:615)
04-23 15:25:21.715:E/AndroidRuntime(26710):在android.os.Handler.dispatchMessage(Handler.java:99)上
04-23 15:25:21.715:E/AndroidRuntime(26710):在android.os.Looper.loop(Looper.java:137)
04-23 15:25:21.715:E/AndroidRuntime(26710):位于android.app.ActivityThread.main(ActivityThread.java:4448)
04-23 15:25:21.715:E/AndroidRuntime(26710):位于java.lang.reflect.Method.Invokenactive(本机方法)
04-23 15:25:21.715:E/AndroidRuntime(26710):在java.lang.reflect.Method.invoke(Method.java:511)
04-23 15:25:21.715:E/AndroidRuntime(26710):在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)

您的
TelaSketchUtil
类似乎是无效的
ContextWrapper

问题出现在:

显然,
mBase
值为空

由于您没有发布它的代码,我最好的猜测是您的
TelaSketchUtil
类直接扩展
ContextWrapper
,并在构造函数中执行
super(null)
。这将使您得到一个作为
Context
arg非常不可用的实例


这也可能是一些更微妙的问题,比如
TelaSketchUtil
对延迟其
ContextWrapper.mBase
初始化的东西进行子类化,在初始化之前运行
onPostExecute()
代码。不过,我觉得这不太可能,除非你做了一些非常奇怪的事情。

检查这个类TelaSketchUtil.java行号:225 ans show us SplashScreen.java code…@DhawalSodha是的,这在post方法中的停止服务中崩溃。但我的问题还是一样。检查服务是否启动??这是TelaSketchUtil.java中的第225行??是的,服务启动了。。那么只有我才能做我所有的工作。。但是stopService中有一个null ponter异常