在 android.net.wifi.STATE_CHANGE 检测到 wifi 状态时崩溃

Crash when detect wifi state at android.net.wifi.STATE_CHANGE

我想在 wifi 状态发生变化时得到 the wifi state 如下:

清单:

<intent-filter>
    <action android:name="android.net.wifi.STATE_CHANGE" />          
</intent-filter>

服务:

WifiManager mainWifiObj;

    @Override
    public void onReceive(Context context, Intent intent) {
        WifiInfo wifiInfo = mainWifiObj.getConnectionInfo();
        String WifiState = "";
        if (mainWifiObj.isWifiEnabled()) {
            WifiState = "Wifi On";
        } else {
            WifiState = "Wifi Off";
        }
    }

但是它在 WifiInfo wifiInfo = mainWifiObj.getConnectionInfo(); 崩溃了,怎么了?

您还没有初始化 WifiManager 对象。以这种方式在 onReceive 方法中执行此操作

mainWifiObj = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);