Android 应用程序在接到电话或此类中断后崩溃

Android 应用程序在接到电话或此类中断后崩溃,android,android-progressbar,android-logcat,Android,Android Progressbar,Android Logcat,在我接到电话或拨打电话(以及其他未记录的中断)后,我的应用程序在恢复活动时会收到NullPointerException。有人能告诉我它在哪里和/或如何修理吗 我编写的代码如下所示: @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.displayActivity);

在我接到电话或拨打电话(以及其他未记录的中断)后,我的应用程序在恢复活动时会收到NullPointerException。有人能告诉我它在哪里和/或如何修理吗

我编写的代码如下所示:

 @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.displayActivity);
        new performBackgroundTask().execute();
  }

  @Override
  public void onDestroy()
  {
    listview1.setAdapter(null);
    super.onDestroy();
  }

  private class performBackgroundTask extends AsyncTask <Void, Void, Void>  
  {
           private ProgressDialog Dialog = new ProgressDialog(displayActivity.this);

           protected void onPreExecute()
           {
               Dialog.setMessage(getString(R.string.dialog_wait_message));
               Dialog.show();
           }

           protected void onPostExecute(Void unused)    
           {
               Dialog.dismiss();    
               // displaying all the fetched data
           }

           @Override
            protected Void doInBackground(Void... params) 
            {
                 // fetching data from web using HTTPGet method 
                return null;   
        }
  }
@覆盖
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.displayActivity);
新建performBackgroundTask().execute();
}
@凌驾
公共空间
{
listview1.setAdapter(空);
super.ondestory();
}
私有类performBackgroundTask扩展了AsyncTask
{
private ProgressDialog=新建ProgressDialog(displayActivity.this);
受保护的void onPreExecute()
{
setMessage(getString(R.string.Dialog_wait_message));
Dialog.show();
}
受保护的void onPostExecute(未使用的void)
{
Dialog.dismise();
//显示所有提取的数据
}
@凌驾
受保护的Void doInBackground(Void…参数)
{
//使用HTTPGet方法从web获取数据
返回null;
}
}
Logcat输出为: java.lang.RuntimeException:无法销毁活动{myApplication/myApplication.displayActivity}:java.lang.NullPointerException 位于android.app.ActivityThread.performDestroyActivity(ActivityThread.java:3655) 位于android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:3673) 位于android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:3789) 在android.app.ActivityThread.access,售价2400美元(ActivityThread.java:125) 在android.app.ActivityThread$H.handleMessage(ActivityThread.java:2037)上 位于android.os.Handler.dispatchMessage(Handler.java:99) 位于android.os.Looper.loop(Looper.java:123) 位于android.app.ActivityThread.main(ActivityThread.java:4627) 位于java.lang.reflect.Method.Invokenactive(本机方法) 位于java.lang.reflect.Method.invoke(Method.java:521) 在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)上 位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 在dalvik.system.NativeStart.main(本机方法) 原因:java.lang.NullPointerException 在MyApplication.displayActivity.onDestroy(displayActivity.java:74) 在android.app.ActivityThread.performDestroyActivity(ActivityThread.java:3642)上

现在,请帮助我解决这个问题,我如何处理收到的电话或短信或此类中断?步骤1:查找
displayActivity.java
文件的第74行

第二步:解决第74行出现的任何问题

现在,堆栈跟踪表明第74行位于
onDestroy()
中。假设上面列出的活动代码来自
displayActivity
,那么第74行必须是:

listview1.setAdapter(null);
这意味着
listview1
null
。在上面列出的代码中,既不声明也不为该数据成员赋值。

步骤1:查找
displayActivity.java
文件的第74行

第二步:解决第74行出现的任何问题

现在,堆栈跟踪表明第74行位于
onDestroy()
中。假设上面列出的活动代码来自
displayActivity
,那么第74行必须是:

listview1.setAdapter(null);

这意味着
listview1
null
。在上面列出的代码中,您既不声明也不为该数据成员赋值。

尝试在
onDestroy
的第一行设置一个BP,并验证变量/成员以查找哪个是
null
尝试在
onDestroy
的第一行设置一个BP,并验证变量/成员以查找哪个是空的
null

thanx表示支持,第74行有一个onDestroy()@Paresh Mayani的结尾大括号“}”:这表明你的应用程序运行的代码与你看到的代码不同,因为你不能在结尾大括号上出现
null点异常
。另外,
super
不能为
null
。问题在listview1.setAdapter(null)中,但不知道为什么!!如果我删除了它,那么该应用程序运行良好,不会发出强制关闭警报框。顺便说一句,谢谢support@CommonsWare我也有同样的问题,来电崩溃应用程序,解决方案是什么。您好..我在我的应用程序中扩展服务..在一次电话呼叫后它崩溃..我如何解决它?谢谢您的支持,在第74行有一个onDestroy()的结束括号“}”@帕雷什·马亚尼:这表明你的应用程序运行的代码与你看到的不一样,因为你不能在结尾的大括号上使用
NullPointerException
崩溃。另外,
super
不能为
null
。问题在listview1.setAdapter(null)中,但不知道为什么!!如果我删除了它,那么该应用程序运行良好,不会发出强制关闭警报框。顺便说一句,谢谢support@CommonsWare我也有同样的问题,来电崩溃应用程序,这是什么解决方案。你好..我在我的应用程序中扩展服务..它在一个电话后崩溃..我如何解决它