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. Mysql ORM工具--MicrobeORM.Mysql开源咯

    MicrobeORM.Mysql 补充:为啥批批量比官方的ADO.NET还快,原因是这俩货 System.EnterpriseServices.dllSystem.EnterpriseServices ...

  2. Android 菜单(OptionMenu)大全 建立你自己的菜单

    转自:http://www.cnblogs.com/salam/archive/2011/04/04/2005329.html 菜单是用户界面中最常见的元素之一,使用非常频繁,在Android中,菜单 ...

  3. JS属性

    1.类型分析: js中的数据类型有undefined,boolean,number,string,object等5种,前4种为原始类型,第5种为引用类型. 代码: var a1;var a2 = tr ...

  4. 呵呵!手把手带你在 IIS 上执行 Python

    公司的站点让我头痛死了.在众多前辈高手的带领下.一大堆的 CMD 在站点里执行得好好地,黑客攻击也好好地.仅仅有站点和我不好好地,我快累死了,站点快挂了.. . 为了解决问题.我想到了 Python ...

  5. 6T GPT 移动硬盘在linux下的挂载

    实验室拿来了一个6T的移动硬盘,拿到后没有分区就直接用了,在Windows上用的好好的,插到上Linux后起初不会挂载,折腾了一会,成功挂载,很简单. 运行fdisk –l后,显示如下: 很明显,sd ...

  6. String常用方法总结

    字符串的截取: 1. slice(start,end) 返回一个新的字符串,不会改变原来引用值.end省略的时候,截取的是start到字符串结尾.传入start=0或者不传入start,就是复制了整个 ...

  7. Daily Sentence

    2016-12-05 08:59:15 Knowing yourself is the beginning of all wisdom. 智者始于自知. 2016-05-01 19:38:25 The ...

  8. Oracle的分页查询语句优化

    Oracle的分页查询语句基本上可以按照本文给出的格式来进行套用. (一)   分页查询格式: SELECT * FROM  ( SELECT A.*, ROWNUM RN  FROM (SELECT ...

  9. SSR服务端一键安装脚本

    支持新协议混淆,SSR服务端一键安装脚本   Shadowsocks-R 是项目 shadowsocks 的增强版,用于方便地产生各种协议接口.实现为在原来的协议外套一层编码和解码接口,不但可以伪装成 ...

  10. global变量

    在函数体内定义的global变量,函数体外可以使用,在函数体外定义的global变量不能在函数体内使用, $global $a; $a=123; function f() { echo $a; //错 ...