欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android 开发中网络状态获取教程

程序员文章站 2022-03-30 18:07:51
android 开发中网络状态获取教程,首先增加网络权限。

android 开发中网络状态获取教程,首先增加网络权限。

<uses-permission android:name="android.permission.internet"/>
<uses-permission android:name="android.permission.access_network_state"/>
<uses-permission android:name="android.permission.change_network_state"/>
/**
     * 判断网络是否可用
     * @param context
     * @return
     */
    public static boolean isnetworkavailable(context context) {

        connectivitymanager manager = (connectivitymanager) context.getsystemservice(context.connectivity_service);
        if (manager != null) {
            networkinfo info = manager.getactivenetworkinfo();
            if (info != null && info.isconnected()) { // 当前网络是连接的
                if (info.getstate() == networkinfo.state.connected) { //当前网络是可用的
                    return true;
                }
            }
        }
        return false;
    }


    /**
     * 判断移动网络是否可用
     *
     * @param context
     * @return true 可用 false 不可用
     */
    public static boolean ismobileconnect(context context) {

        connectivitymanager manager = (connectivitymanager) context.getsystemservice(context.connectivity_service);
        if (manager == null)
            return false;

        networkinfo networkinfo = manager.getnetworkinfo(connectivitymanager.type_mobile);
        if (networkinfo != null) {
            return networkinfo.isavailable();
        }
        return false;
    }

    /**
     * 判断是否是wifi网络连接
     * @param context
     * @return true
     */
    public static boolean iswificonnect(context context) {

        connectivitymanager manager = (connectivitymanager) context.getsystemservice(context.connectivity_service);
        if (manager == null)
            return false;
        networkinfo networkinfo = manager.getnetworkinfo(connectivitymanager.type_wifi);
        if (networkinfo != null) {
            return networkinfo.isavailable();
        }
        return false;
    }