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还是移动数据,而实际上,移动数据也 ...
随机推荐
- window.opener方法的使用 js跨域
原文:window.opener方法的使用 js跨域 最近公司网站登陆加入了第三方登陆.可以用QQ直接登陆到我们网站,在login页面A中点QQ登陆时,调用了一个window.open文件打开一个lo ...
- asp.net mvc,做 301 永久重定向
以下代码为 asp.net mvc 4.0 代码做的 301 永久重定向 string url = “http://www.csdn.net/test.html” Response.StatusCod ...
- Nutch环境搭建
1. 环境准备 HOST:Ubuntu12.04LTS JDK: jdk-7u45-linux-i586.rpm Nutch:apache-nutch-1.7-bin.tar.gz Solr:solr ...
- jquery的clone办法bug修复
发现测试,textarea和select的jquery的clone有问题的方法,textarea和select值clone时间会输.这是发现jquery一个bug,上不了的能够看下代码.比較简单.就是 ...
- Windows文件操作的API函数[转载]
在VC中,大多数情况对文件的操作都使用系统提供的 API 函数,但有的函数我们不是很熟悉,以下提供一些文件操作 API 函数介绍: 一般文件操作 API CreateFile 打开文件 要对文件进行读 ...
- 【sqlserver】批量插入10万数据
DECLARE @LN VARCHAR(300),@MN VARCHAR(200),@FN VARCHAR(200)DECLARE @LN_N INT,@MN_N INT,@FN_N INTSET @ ...
- 查看当前支持的MySQL字符集的命令
查看不同的MySQL字符集有不同的方法,下面介绍的命令用于查看当前支持的MySQL字符集,希望对您学习MySQL字符集能有所帮助. mysql> show char set; +-------- ...
- HTML——表格与表单
1.表格 <table></table> background:背景图片. 属性 值 描述 align left center right 不赞成使用.请使用样式代替. 规定表 ...
- Sybase Power Designer 16.5破解版下载
http://pan.baidu.com/s/1ddsjs 下载后正常安装,然后将压缩文件里的dll文件拷到安装目录下覆盖原文件,启动Power Designer后,选择help-->abou ...
- 蜗牛爱课 - iOS7、8模态半透明弹出框
//源Controller中跳转方法实现 MKDialogController *controller = [[MKDialogController alloc] init]; controller. ...