Android 网络监听

来源:互联网 发布:苹果电脑装mac os 编辑:程序博客网 时间:2024/06/05 18:00
      <receiver android:name=".receiver.NetBroadcastReceiver">            <intent-filter>                <!--  使用过滤器,接收指定action广播-->                <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />                <action android:name="android.net.wifi.WIFI_STATE_CHANGED" />                <action android:name="android.net.wifi.STATE_CHANGE" />            </intent-filter>        </receiver>
public class NetBroadcastReceiver extends BroadcastReceiver {    /**     * 只有当网络改变的时候才会 经过广播。     */    @Override    public void onReceive(Context context, Intent intent) {        // TODO Auto-generated method stub        if (intent.getAction().equals(ConnectivityManager.CONNECTIVITY_ACTION)) {            NetUtil.getNetInfo(context);        }    }}
* 判断网络工具类 */public class NetUtil {    /**     * 没有连接网络     */    private static final int NETWORK_NONE = -1;    /**     * 移动网络     */    private static final int NETWORK_MOBILE = 0;    /**     * 无线网络     */    private static final int NETWORK_WIFI = 1;    public static int getNetWorkState(Context context) {        // 得到连接管理器对象        ConnectivityManager connectivityManager = (ConnectivityManager) context                .getSystemService(Context.CONNECTIVITY_SERVICE);        NetworkInfo activeNetworkInfo = connectivityManager                .getActiveNetworkInfo();        if (activeNetworkInfo != null && activeNetworkInfo.isConnected()) {            if (activeNetworkInfo.getType() == (ConnectivityManager.TYPE_WIFI)) {                return NETWORK_WIFI;            } else if (activeNetworkInfo.getType() == (ConnectivityManager.TYPE_MOBILE)) {                return NETWORK_MOBILE;            }        } else {            return NETWORK_NONE;        }        return NETWORK_NONE;    }    public static void getNetInfo(Context context) {        int netWorkState =getNetWorkState(context);        if (netWorkState == 1) {            System.out.println("wifi已连接");            ToastUtils.showToast("wifi已连接");        } else if (netWorkState == 0) {            System.out.println("移动数据已连接");            ToastUtils.showToast("移动数据已连接");        } else if (netWorkState == -1) {            System.out.println("网络已断开");            ToastUtils.showToast("网络已断开");        }    }}
0 0
原创粉丝点击