自定义广播网络判断

//创建网络判断类

package com.bw.test.utils;

import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;

public class NetWorkUtils {


    //判断是否有网
    public static boolean isNetWorkConnect(Context context){
        //获取网络连接状态管理器

     ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
       //得到网络信息
        NetworkInfo info = cm.getActiveNetworkInfo();
        if (info!=null){
            return info.isAvailable();
        }


        return false;
    }

    //判断是wifi

    public static boolean isWifi(Context context){
        //获取网络连接状态管理器
        ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
       //从网络连接管理器中获取wifi
        NetworkInfo wifi = cm.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
        if (wifi!= null){
            return true;
        }



        return false;
    }


    //判断是流量
    public static boolean isMobile(Context context){
        //获取网络连接状态管理器
        ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
        //从网络连接管理器中获取wifi
        NetworkInfo mobile = cm.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
        if (mobile!= null){
            return true;
        }



        return false;
    }

}

//注册定义好的广播(在主方法中)

 NetWrokBroadcastReceiver receiver = new NetWrokBroadcastReceiver();
        IntentFilter intentFilter = new IntentFilter();
        intentFilter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);

        registerReceiver(receiver, intentFilter);

//定义广播


    //定义广播监听网络状态
    private class NetWrokBroadcastReceiver extends BroadcastReceiver {


        //重写接收广播的方法
        @Override
        public void onReceive(Context context, Intent intent) {

            boolean netWorkConnect = NetWorkUtils.isNetWorkConnect(context);
            if (netWorkConnect) {
                Toast.makeText(context, "有网", Toast.LENGTH_SHORT).show();

                //获取网络数据
                getServerData();


                boolean wifi = NetWorkUtils.isWifi(context);
                if (wifi) {

                    Toast.makeText(context, "wifi", Toast.LENGTH_SHORT).show();

                } else {
                    boolean mobile = NetWorkUtils.isMobile(context);
                    if (mobile) {

                        Toast.makeText(context, "流量大大有", Toast.LENGTH_SHORT).show();
                    }


                }


            } else {

                Toast.makeText(context, "无网", Toast.LENGTH_SHORT).show();

                AlertDialog.Builder builder = new AlertDialog.Builder(context);
                builder.setIcon(R.mipmap.ic_launcher);
                builder.setTitle("网络提示");
                builder.setMessage("请求设置网络");
                builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        //整体:
                        //startActivity(new Intent(Settings.ACTION_WIRELESS_SETTINGS));
                        //WIFI:
                        //startActivity(new Intent(Settings.ACTION_WIFI_SETTINGS));
                        //流量:
                        startActivity(new Intent(android.provider.Settings.ACTION_DATA_ROAMING_SETTINGS));
                    }
                });
                builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {

                    }
                });

                builder.show();

            }


        }
    }

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值