如何抓住Wifi变化?

时间:2014-02-13 12:12:45

标签: android

我正在开发一款没有GUI的应用程序。当Wifi按钮改变(ON或OFF)时,它应该启动它的服务。 这是我的清单文件:

 <receiver android:name="com.updater.wifitester.NetWatcher">
        <intent-filter  
            android:priority="100">
        <action 
            android:name="android.net.wifi.WIFI_STATE_CHANGED"
            android:enabled="true"
            />

        </intent-filter>
    </receiver>

以下是我提供的权限:

<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.INTERNET"/>

我扩展了广播接收器:

  public class NetWatcher extends BroadcastReceiver {
        @Override
        public void onReceive(Context context, Intent intent) {
        if (WifiManager.WIFI_STATE_CHANGED_ACTION.equals(intent.getAction())) {
                //check intents and service to know if all is ok then set bWifiStateOk accordingly
                Toast.makeText(context, "Wifi on", Toast.LENGTH_LONG).show(); 
                Log.i("wifi_state_changed","wifi changed...");
            } else {
                return ; // do nothing ... we're not in good intent context doh !
            }
    }
}

但是log cat中没有任何内容,也没有显示Toasts。我错过了什么? 请帮帮我们......

1 个答案:

答案 0 :(得分:0)

试试这个

<intent-filter>
       <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
</intent-filter>