接口的理解(广播检测网络是否连接的例子)

来源:互联网 发布:类似faceu的软件 编辑:程序博客网 时间:2024/06/08 02:17

接口方法用于回调

接口类里面

先定义接口

/** * 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){//wifiisWIFIInternet.onConnect();}else if (State.CONNECTED != wifiState&& State.CONNECTED != mobileState){//断网isWIFIInternet.onDisConnect();}


类2里面调用

connectionReceiver.setWIFIInternetListener(new IWIFILinstener() {@Overridepublic void onConnect() {}@Overridepublic void onDisConnect() {}});
定义

private InternetChangeReceiver connectionReceiver;




0 0
原创粉丝点击