我编写了一个具有主要 Activity 、服务和广播接收器的应用程序。该应用程序一直有效,直到我试图用名为“内存助推器”的应用程序杀死它。然后它强制关闭,我的 logcat 抛出 2 个 NULLPOINTEREXCEPTIONS。在我的 textview (在 mainactivity 中声明并传递给广播接收器)和 ConnectiviyManager (也在主 Activity 中声明,但在广播接收器中使用)。
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): 在 app.wifito3g.Broadcast.onReceive(Broadcast.java:122)
谁能解释一下为什么? 谢谢!
编辑:详细的堆栈跟踪
第 122 行是:
wifi_state = conMan.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState();
如果我注释掉第 121 行,我会在下一行得到 NULLPOINTEREXCEPTION,即:
wifi_check.setTextColor(Color.BLACK);
最佳答案
您可以做什么:覆盖主要 Activity 的 onDestroy,然后正确关闭所有内容(您的服务、广播等)。在这种情况下,您将不再强制关闭。
关于java - 当内存增强器杀死我的应用程序时,它会强制关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14505083/