断开与特定wifi网络的连接时发出通知

时间:2013-11-12 12:43:57

标签: java android xml

我需要我的应用程序在特定 WiFi离线时发出通知。

每次WiFi连接断开连接时我都会发出通知。但我需要它只在特定 WiFi网络断开连接时发出通知。我的代码适合这个吗?我读了一些类wifiinfo,这是解决方案吗?

我的问题是,如何在特定 WiFi离线时更改代码以仅发出通知?任何正确方向的帮助都会很好!一些例子会更加令人敬畏。

提前致谢!

(最后我需要一个按钮,当你按下这个特定的wifi时,你的atm将成为特定的wifi,当你断开它时你会得到通知。如果这是有道理的。)

代码:

protected void onCreate(Bundle savedInstanceState) {        
    // TODO Auto-generated method stub

    super.onCreate(savedInstanceState);  
    this.registerReceiver(this.mConnReceiver,
            new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION));
    setContentView(R.layout.activity_hoofdmenu);        
}

private BroadcastReceiver mConnReceiver = new BroadcastReceiver() {
    public void onReceive(Context context, Intent intent) {

        if(!isNetworkConnectionAvailable(context)){
            showNotification();
        }

        }
};

public static boolean isNetworkConnectionAvailable(Context context)
  {
      boolean isNetworkConnectionAvailable = false;

      ConnectivityManager connectivityManager = (ConnectivityManager)context.getSystemService("connectivity");
      NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();

      if(activeNetworkInfo != null) 
      {
          isNetworkConnectionAvailable = activeNetworkInfo.getState() == NetworkInfo.State.CONNECTED;
      }
      return isNetworkConnectionAvailable;
  }

1 个答案:

答案 0 :(得分:0)

要检测SSID更改,请收听WifiManager.NETWORK_STATE_CHANGED_ACTION,从额外意图WifiManager.EXTRA_BSSID中获取SSID。

请参阅:Execute code when wifi SSID changes