Android 监听WiFi的开关状态实现代码
Android监听WiFi的开关状态实现代码
WifiSwitch_Presenter源码:
packagecom.yiba.wifi.sdk.lib.presenter; importandroid.content.BroadcastReceiver; importandroid.content.Context; importandroid.content.Intent; importandroid.content.IntentFilter; importandroid.net.wifi.WifiManager; /** *Createdby${zhaoyanjun}on2017/3/29. *Wifi开关监听 */ publicclassWifiSwitch_Presenter{ privateContextmContext; privateReceiverreceiver; privateWifiSwitch_InterfacemInterface; publicWifiSwitch_Presenter(Contextcontext,WifiSwitch_InterfacemInterface){ this.mContext=context; this.mInterface=mInterface; observeWifiSwitch(); } privatevoidobserveWifiSwitch(){ IntentFilterfilter=newIntentFilter(); filter.addAction(WifiManager.WIFI_STATE_CHANGED_ACTION); receiver=newReceiver(); mContext.registerReceiver(receiver,filter); } /** *释放资源 */ publicvoidonDestroy(){ if(receiver!=null){ mContext.unregisterReceiver(receiver); } if(mContext!=null){ mContext=null; } } classReceiverextendsBroadcastReceiver{ @Override publicvoidonReceive(Contextcontext,Intentintent){ intwifiState=intent.getIntExtra(WifiManager.EXTRA_WIFI_STATE,0); switch(wifiState){ caseWifiManager.WIFI_STATE_DISABLED: if(mInterface!=null){ mInterface.wifiSwitchState(WifiSwitch_Interface.WIFI_STATE_DISABLED); } break; caseWifiManager.WIFI_STATE_DISABLING: if(mInterface!=null){ mInterface.wifiSwitchState(WifiSwitch_Interface.WIFI_STATE_DISABLING); } break; caseWifiManager.WIFI_STATE_ENABLED: if(mInterface!=null){ mInterface.wifiSwitchState(WifiSwitch_Interface.WIFI_STATE_ENABLED); } break; caseWifiManager.WIFI_STATE_ENABLING: if(mInterface!=null){ mInterface.wifiSwitchState(WifiSwitch_Interface.WIFI_STATE_ENABLING); } break; caseWifiManager.WIFI_STATE_UNKNOWN: if(mInterface!=null){ mInterface.wifiSwitchState(WifiSwitch_Interface.WIFI_STATE_UNKNOWN); } break; } } } }
WifiSwitch_Interface源码
packagecom.yiba.wifi.sdk.lib.presenter; /** *Createdby${zhaoyanjun}on2017/3/29. *Wifi开关监听 */ publicinterfaceWifiSwitch_Interface{ intWIFI_STATE_ENABLING=0; intWIFI_STATE_ENABLED=1; intWIFI_STATE_DISABLING=2; intWIFI_STATE_DISABLED=3; intWIFI_STATE_UNKNOWN=4; voidwifiSwitchState(intstate); }
使用方式MainActivity:
packagecom.yiba.core; importandroid.os.Bundle; importandroid.support.v7.app.AppCompatActivity; importandroid.widget.Toast; publicclassMainActivityextendsAppCompatActivityimplementsWifiSwitch_Interface{ privateWifiSwitch_PresenterwifiSwitch_presenter; @Override protectedvoidonCreate(BundlesavedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); wifiSwitch_presenter=newWifiSwitch_Presenter(this,this); } @Override publicvoidwifiSwitchState(intstate){ switch(state){ caseWifiSwitch_Interface.WIFI_STATE_DISABLED: Toast.makeText(this,"WiFi已经关闭",Toast.LENGTH_SHORT).show(); break; caseWifiSwitch_Interface.WIFI_STATE_DISABLING: Toast.makeText(this,"WiFi正在关闭",Toast.LENGTH_SHORT).show(); break; caseWifiSwitch_Interface.WIFI_STATE_ENABLED: Toast.makeText(this,"WiFi已经打开",Toast.LENGTH_SHORT).show(); break; caseWifiSwitch_Interface.WIFI_STATE_ENABLING: Toast.makeText(this,"WiFi正在打开",Toast.LENGTH_SHORT).show(); break; } } @Override protectedvoidonDestroy(){ super.onDestroy(); //释放资源 if(wifiSwitch_presenter!=null){ wifiSwitch_presenter.onDestroy(); } } }
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!