判断网络状态(移动、WiFi、无网络连接)

首先是用到了一个工具类NetWorkUtil;
工具类代码:


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

public class NetWorkUtil {

    public static int netWorkState;
    /**
     * 判断当前手机是否有网络
     * @return
     */
    public static int hasNetWork(Context context) {
        /*
         * 0 没有网络 1 移动网络 2 WIFI
         */
        // 链接管理器
        ConnectivityManager cm = (ConnectivityManager) context
                .getSystemService(Context.CONNECTIVITY_SERVICE);
        // 获取激活的网络信息 // 需要权限
        NetworkInfo activeNetworkInfo = cm.getActiveNetworkInfo();

        if (activeNetworkInfo == null) {
            netWorkState = 0;// 没有网络
        } else {
            if (activeNetworkInfo.getType() == ConnectivityManager.TYPE_MOBILE) {
                netWorkState = 1;
            } else if (activeNetworkInfo.getType() == ConnectivityManager.TYPE_WIFI) {
                netWorkState = 2;
            }
        }
        return netWorkState;
    }

}

然后在代码里面判断:

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
            if (NetWorkUtil.hasNetWork(getApplicationContext()) == 0) {
            Toast.makeText(getApplicationContext(), "没有网络",
                    Toast.LENGTH_SHORT).show();

        } else if (NetWorkUtil.hasNetWork(getApplicationContext()) == 1) {
            Toast.makeText(getApplicationContext(), "移动网络",
                    Toast.LENGTH_SHORT).show();

        } else {
            Toast.makeText(getApplicationContext(), "WIFI",
                    Toast.LENGTH_SHORT).show();

        }

    }

想要实现在不同网络状态下实现的不同的效果,直接将不同网络状态下面的Toast替换掉就行了,比较懒,Demo就不奉上了,有时间的话再把demo加上去

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值