接口方法用于回调
接口类里面
先定义接口
/**
* wifi 监听
* @author vinceter
*
*/
public interface IWIFILinstener{
/**
* 连网状态
*/
public void onConnect();
/**
* 断网
*/
public void onDisConnect();
};
注册
<span style="white-space:pre"> </span>private IWIFILinstener isWIFIInternet;
public void setWIFIInternetListener(IWIFILinstener isWIFIInternet) {
this.isWIFIInternet = isWIFIInternet;
}
方法里面需要调用方法
先定义一些系统检测的state
ConnectivityManager cm = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
State wifiState = cm.getNetworkInfo(ConnectivityManager.TYPE_WIFI)
.getState();
State mobileState = cm.getNetworkInfo(ConnectivityManager.TYPE_MOBILE)
.getState();
然后在方法里面方法里面回调接口的方法
<span style="white-space:pre"> </span>State wifiState = cm.getNetworkInfo(ConnectivityManager.TYPE_WIFI)
.getState();
State mobileState = cm.getNetworkInfo(ConnectivityManager.TYPE_MOBILE)
.getState();
if (wifiState == null && mobileState == null)
{
return;
}
if(State.CONNECTED == mobileState)
{
//手机流量
isWIFIInternet.onConnect();
}else if (State.CONNECTED == wifiState)
{
//wifi
isWIFIInternet.onConnect();
}else if (State.CONNECTED != wifiState&& State.CONNECTED != mobileState)
{
//断网
isWIFIInternet.onDisConnect();
}
类2里面调用
connectionReceiver.setWIFIInternetListener(new IWIFILinstener() {
@Override
public void onConnect() {
}
@Override
public void onDisConnect() {
}
});
定义
private InternetChangeReceiver connectionReceiver;