import java.net.InetAddress;

import android.app.Activity;
import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.net.wifi.WifiInfo;
import android.net.wifi.WifiManager;
import android.os.Bundle;
import android.widget.ScrollView;
import android.widget.TextView;

public class NetAct extends Activity {
        private TextView textView;

public void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                textView = new TextView(this);
                textView.setBackgroundColor(0xffffffff);
                textView.setTextColor(0xff0000ff);
                textView.setTextSize(15.0f);
                textView.setScrollBarStyle(TextView.SCROLLBARS_OUTSIDE_OVERLAY);

ScrollView scrollView = new ScrollView(this);
                scrollView.addView(textView);
                setContentView(scrollView);
                getLocalHost();
                getWifiInfo();
                initNetworkInfo();
        }

private void getLocalHost() {
                try {
                        InetAddress iAdd = InetAddress.getLocalHost();
                        String line = "";
                        String hostName = iAdd.getHostName();
                        if (hostName != null) {
                                InetAddress[] adds = InetAddress.getAllByName(hostName);
                                for (int i = 0; i < adds.length; i++) {
                                        iAdd = adds[i];
                                        line = "HostName=" + iAdd.getHostName() + "\n";
                                        textView.append(line);
                                        line = "CanonicalHostName=" + iAdd.getCanonicalHostName()
                                                        + "\n";
                                        textView.append(line);
                                        line = "HostAddress=" + iAdd.getHostAddress() + "\n";
                                        textView.append(line);
                                        textView.append("\n");
                                }
                        }
                } catch (Exception e) {
                        e.printStackTrace();

}
        }

public void getWifiInfo() {
                WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
                WifiInfo info = wifi.getConnectionInfo();
                textView.append("HiddenSSID=" + info.getHiddenSSID() + "\n");
                textView.append("IpAddress=" + info.getIpAddress() + "\n");
                textView.append("LinkSpeed=" + info.getLinkSpeed() + "\n");
                textView.append("NetworkId=" + info.getNetworkId() + "\n");
                textView.append("Rssi=" + info.getRssi() + "\n");
                textView.append("SSID=" + info.getSSID() + "\n");
                textView.append("MacAddress=" + info.getMacAddress() + "\n");
        }

public void initNetworkInfo() {
                ConnectivityManager mag = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
                // 此处输出当前可用网络
                textView.append("\nActive:\n");
                NetworkInfo info = mag.getActiveNetworkInfo();
                textView.append("ExtraInfo=" + info.getExtraInfo() + "\n");
                textView.append("SubtypeName=" + info.getSubtypeName() + "\n");
                textView.append("TypeName=" + info.getTypeName() + "\n");

textView.append("\nWifi:\n");
                NetworkInfo wifiInfo = mag
                                .getNetworkInfo(ConnectivityManager.TYPE_WIFI);

textView.append("ExtraInfo=" + wifiInfo.getExtraInfo() + "\n");
                textView.append("SubtypeName=" + wifiInfo.getSubtypeName() + "\n");
                textView.append("TypeName=" + wifiInfo.getTypeName() + "\n");
                NetworkInfo mobInfo = mag
                                .getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
                textView.append("\nMobile:\n");
                textView.append("ExtraInfo=" + mobInfo.getExtraInfo() + "\n");
                textView.append("SubtypeName=" + mobInfo.getSubtypeName() + "\n");
                textView.append("TypeName=" + mobInfo.getTypeName() + "\n");
        }
}

在AndroidManifest.xml中增加:

<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>

android 网络状态判断【转】的更多相关文章

  1. Android 网络连接判断与处理

    Android网络连接判断与处理  获取网络信息需要在AndroidManifest.xml文件中加入相应的权限. <uses-permission android:name="and ...

  2. 如何消除原生Android网络状态上的惊叹号

    喜欢使用原生Android系统的朋友可能会发现自己的状态栏信号图标上经常有一个惊叹号标志. 这是怎么回事呢?原因是Android为了对网络状态进行检测,采用了一种叫做captive detection ...

  3. Android杂谈--网络状态判断

    许多联网应用都在开始运行的时候检查当前网络状态,如果没有开启则去开启它,记录一下以前写程序时的网络检查,发现人的记忆力真是有限,总是隔段时间久忘记,所以记录下来是最好的记忆. 我们可以在一开始启动程序 ...

  4. Android网络连接判断与处理

    博客分类: Android 获取网络信息需要在AndroidManifest.xml文件中加入相应的权限. <uses-permission android:name="android ...

  5. android 网络连接判断

    Android 网络判断类,用来判断网络状态 使用方法: (1)先初始化 //初始化网络状态检测类 NetworkStateManager.instance().init(this); (2)判断是否 ...

  6. Android网络状态监控

    Android 监控网络状态 在Android网络应用程序开发中,经常要判断网络连接是否可用,因此经常有必要监听网络状态的变化.android的网络状态监听可以用BroadcastReceiver来接 ...

  7. iOS中利用CoreTelephony获取用户当前网络状态(判断2G,3G,4G)

    前言: 在项目开发当中,往往需要利用网络.而用户的网络环境也需要我们开发者去注意,根据不同的网络状态作相应的优化,以提升用户体验. 但通常我们只会判断用户是在WIFI还是移动数据,而实际上,移动数据也 ...

  8. 利用CoreTelephony获取用户当前网络状态(判断2G,3G,4G)

    前言: 在项目开发当中,往往需要利用网络.而用户的网络环境也需要我们开发者去注意,根据不同的网络状态作相应的优化,以提升用户体验. 但通常我们只会判断用户是在WIFI还是移动数据,而实际上,移动数据也 ...

  9. iOS中利用CoreTelephony获取用户当前网络状态(判断2G,3G,4G) by徐文棋

    前言: 在项目开发当中,往往需要利用网络.而用户的网络环境也需要我们开发者去注意,根据不同的网络状态作相应的优化,以提升用户体验. 但通常我们只会判断用户是在WIFI还是移动数据,而实际上,移动数据也 ...

随机推荐

  1. C# 导出CSV功能记录下

    异常问题1: 如 机构编号 导出城CSV后,前面的四个0000不显示了, 解决办法 输出格式变为 =" 异常问题2: PPMABAT01:/MABATAPS/usr/ma_batas > ...

  2. 国内常用ntp服务器ip地址

    ntp.sjtu.edu.cn 202.120.2.101 (上海交通大学网络中心NTP服务器地址)s1a.time.edu.cn 北京邮电大学s1b.time.edu.cn 清华大学s1c.time ...

  3. Truck History(kruskal+prime)

    Truck History Time Limit : 4000/2000ms (Java/Other)   Memory Limit : 131072/65536K (Java/Other) Tota ...

  4. 通过YAJL获取json中的值

    这里主要是举例说明一下假设通过yajl获取json中的值. 对于array和object来说,获取的方式略有不同,详细能够參考以下的代码. 我仅仅是从网上搜集信息.知道有这么一种方法.假设还有别的方法 ...

  5. ORA-32004: obsolete or deprecated parameter(s) specified for RDBMS instance

    1.启动报错SQL> startupORA-32004: obsolete or deprecated parameter(s) specified for RDBMS instanceORAC ...

  6. HTML 基础 1

    1. 文件结构: HTML文件的固定结构: <html> <head>...</head> <body>...</body> </ht ...

  7. UVA 11491 Erasing and Winning

    题意: 给你一个n位整数,让你删掉d个数字,剩下的数字要尽量大. 分析: 用了vector数组模拟.如果当前要插入的数>vector数组里的最后一位数,就替换且d-- 代码: #include ...

  8. UVA 1001 Say Cheese

    题意: 一只母老鼠想要找到她的玩具,而玩具就丢在一个广阔的3维空间上某个点,而母老鼠在另一个点,她可以直接走到达玩具的位置,但是耗时是所走过的欧几里得距离*10s.还有一种方法,就是靠钻洞,洞是球形的 ...

  9. java调用Command命令

    ----------- import java.io.BufferedReader; import java.io.InputStreamReader; /** * 此类用来执行Command命令 * ...

  10. c# List<string>和List<int>互相转换

    List<string> 转 List<int> var list = (new[]{"1","2","3"}).T ...