android 网络状态判断【转】
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 网络状态判断【转】的更多相关文章
- Android 网络连接判断与处理
Android网络连接判断与处理 获取网络信息需要在AndroidManifest.xml文件中加入相应的权限. <uses-permission android:name="and ...
- 如何消除原生Android网络状态上的惊叹号
喜欢使用原生Android系统的朋友可能会发现自己的状态栏信号图标上经常有一个惊叹号标志. 这是怎么回事呢?原因是Android为了对网络状态进行检测,采用了一种叫做captive detection ...
- Android杂谈--网络状态判断
许多联网应用都在开始运行的时候检查当前网络状态,如果没有开启则去开启它,记录一下以前写程序时的网络检查,发现人的记忆力真是有限,总是隔段时间久忘记,所以记录下来是最好的记忆. 我们可以在一开始启动程序 ...
- Android网络连接判断与处理
博客分类: Android 获取网络信息需要在AndroidManifest.xml文件中加入相应的权限. <uses-permission android:name="android ...
- android 网络连接判断
Android 网络判断类,用来判断网络状态 使用方法: (1)先初始化 //初始化网络状态检测类 NetworkStateManager.instance().init(this); (2)判断是否 ...
- Android网络状态监控
Android 监控网络状态 在Android网络应用程序开发中,经常要判断网络连接是否可用,因此经常有必要监听网络状态的变化.android的网络状态监听可以用BroadcastReceiver来接 ...
- iOS中利用CoreTelephony获取用户当前网络状态(判断2G,3G,4G)
前言: 在项目开发当中,往往需要利用网络.而用户的网络环境也需要我们开发者去注意,根据不同的网络状态作相应的优化,以提升用户体验. 但通常我们只会判断用户是在WIFI还是移动数据,而实际上,移动数据也 ...
- 利用CoreTelephony获取用户当前网络状态(判断2G,3G,4G)
前言: 在项目开发当中,往往需要利用网络.而用户的网络环境也需要我们开发者去注意,根据不同的网络状态作相应的优化,以提升用户体验. 但通常我们只会判断用户是在WIFI还是移动数据,而实际上,移动数据也 ...
- iOS中利用CoreTelephony获取用户当前网络状态(判断2G,3G,4G) by徐文棋
前言: 在项目开发当中,往往需要利用网络.而用户的网络环境也需要我们开发者去注意,根据不同的网络状态作相应的优化,以提升用户体验. 但通常我们只会判断用户是在WIFI还是移动数据,而实际上,移动数据也 ...
随机推荐
- asp.net mvc,做 301 永久重定向
以下代码为 asp.net mvc 4.0 代码做的 301 永久重定向 string url = “http://www.csdn.net/test.html” Response.StatusCod ...
- Qt5 基于TCP传输的发送/接收文件服务器(支持多客户端)
一.实现功能 1.服务器端选择待发送的文件,可以是多个 2.开启服务器,支持多客户端接入,能够实时显示每个客户端接入状态 3.等待所有客户端都处于已连接状态时,依次发送文件集给每个客户端,显示每个客户 ...
- OpenSSL win 下报错 OPENSSL_Uplink(58D46000,08): no OPENSSL_Applink
python 中使用 M2Crypto 想读写文件时总是报: OPENSSL_Uplink(58D46000,08): no OPENSSL_Applink windows 平台下使用 openssl ...
- 创建FBI树
需求:数串由2^n个'0' '1'数串组成,对于一个数串,有01混合出现,则视为F,全0数串为B,全1数串为I. 将给定数串进行切割,如10010011可以用二叉树表示为 F(10010011) / ...
- uva 10026 Shoemaker's Problem _贪心
题意:鞋匠现在有n个工作要做,每个工作要x天,没延迟一天需要付款y,鞋匠每天只能做一个工作,问使得鞋匠最少赔款的工作顺序. 思路:工作和工作之间排序,如果a.value*b.day>b.valu ...
- poj 3761 Bubble Sort_快速幂
题意:问你冒泡排序第i次排序,一共排了多少次 套公式K!((K + 1) ^ (N - K) - K ^ (N - K)) #include <iostream> #include< ...
- 【LeetCode练习题】Candy
分糖果 There are N children standing in a line. Each child is assigned a rating value. You are giving c ...
- [tarjan] poj 1236 Network of Schools
主题链接: http://poj.org/problem?id=1236 Network of Schools Time Limit: 1000MS Memory Limit: 10000K To ...
- 代理方法keywordAction与Fun的使用
代理是一种特殊的,指向某个方法模块所在的地址.一般来讲,那个方法模块,能够是一个普通的方法,很多其它的时候,是一团匿名的lamda表达式,即一个匿名方法.如今简单理解一下代理的简写方式,即Action ...
- 傅老师课堂:Java高级应用之Struts2+Spring2+Hibernate3大集成
开篇一笑:一对情侣,非常恩爱,但男友喜欢说脏话,一天女友提出要带男友回家吃个饭,见见家长,千叮万嘱让男友别说脏话,男友在家憋了一晚上没说一句脏话,天气寒冷,到走的时候女友家长要出来送他们,男友客气的说 ...