我已经编写了一个具有主要活动,服务和广播接收器的应用程序。该应用程序可以正常工作,直到我尝试使用称为Memory Booster的应用程序将其杀死。然后它强制关闭,我的logcat抛出2 NULLPOINTEREXCEPTIONS。在我的textview(在mainactivity中声明并传递给广播接收器)和ConnectiviyManager(也在main activity中声明,但在Broadcast接收器中使用)。
01-24 16:25:06.790: E/AndroidRuntime(4820): java.lang.RuntimeException: Error receiving broadcast Intent { act=ACTION_PERFORMED (has extras) } in app.wifito3g.Broadcast@40628910
01-24 16:25:06.790: E/AndroidRuntime(4820): Caused by: java.lang.NullPointerException
01-24 16:25:06.790:E / AndroidRuntime(4820):at app.wifito3g.Broadcast.onReceive(Broadcast.java:122)
谁能解释我为什么?
谢谢!
编辑:详细的堆栈跟踪
第122行是:
wifi_state = conMan.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState();
如果我注释掉第121行,则会在下一行得到NULLPOINTEREXCEPTION,即:
wifi_check.setTextColor(Color.BLACK);
最佳答案
您可以做什么:覆盖主要活动的onDestroy,然后在那里正确关闭所有内容(您的服务,广播等)。在这种情况下,您将无法再合上任何力量。