android开发中怎么获取手机网络状态?

安卓开发怎么获取手机网络状态
比如链接WiFi他就提示链接WiFi

阅读 4.7k
4 个回答

查api吧
我记得网络状态有无是在ConnectivityManager和NetworkInfo吧。

https://developer.android.goo...
显示手机网络状态:mobile(数据网络),wifi

public String netstat() {
    try {
        ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo activeNetworkInfo = cm.getActiveNetworkInfo();
        if (activeNetworkInfo != null && activeNetworkInfo.isAvailable() && activeNetworkInfo.getState() == NetworkInfo.State.CONNECTED) {
            if (activeNetworkInfo.getType() == ConnectivityManager.TYPE_MOBILE) {
                return "mobile";
            } else if (activeNetworkInfo.getType() == ConnectivityManager.TYPE_WIFI) {
                WifiManager wm = (WifiManager) getSystemService(Context.WIFI_SERVICE);
                int ip = wm.getConnectionInfo().getIpAddress();
                if (ip == 0) {
                    return "wifi";
                } else {
                    return "wifi:" + ((ip & 0xff) + "." + (ip >> 8 & 0xff) + "." + (ip >> 16 & 0xff) + "." + (ip >> 24 & 0xff));
                }
            }
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
    return "offline";
}
public static int getNetType(Context context)
    {
        int netType = -1;
        ConnectivityManager connMgr = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo networkInfo = connMgr.getActiveNetworkInfo();
        if(networkInfo==null)
        {
            return netType;
        }
        return networkInfo.getType();
    }

switch(getNetType(context)){
    case wifi: break
    //TODO
}
public static boolean isWifiConnected(Context context) {
        ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo networkInfo = cm.getActiveNetworkInfo();
        return networkInfo != null && networkInfo.getType() == ConnectivityManager.TYPE_WIFI;
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题