尝试在 onResume 中测试 wifi SSID isEmpty 或 equals("null") 时,我得到了一个 NPE。这是我设置它的方式:
Class MyActivity extends Activity{
WifiManager myWifiManager;
public void onCreate(Bundle savedInstanceState) {
myWifiManager = (WifiManager)getSystemService(Context.WIFI_SERVICE);
...
}
protected void onResume() {
if (myWifiManager.isWifiEnabled() && !(myWifiManager.getConnectionInfo().getSSID().equals("null"))) {
...
}
我已经确定它是抛出 NPE 的 getSSID。让我感到困惑的是,我没有在我的 onCreate (或任何其他方法)中取消 WifiManager 对象,如果我单独测试 myWifiManager.isWifiEnabled ,它工作得很好,所以很明显该对象仍然存在。我可以记录 myWifiManager.getConnectionInfo().getSSID() 并获取 null 或上述值(取决于是否连接了 wifi)。所以不知道为什么会被抛出。任何帮助将非常感激!