获得当前网络方式

简介: 获得当前网络方式

Java code

package lab.sodino.net; 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中增加:

XML code

<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
相关文章
|
5天前
|
安全 物联网 5G
6G网络和5G网络的区别是什么
6G网络和5G网络的区别是什么
76 0
|
5月前
|
存储 前端开发 安全
跨页面通信的方式有哪些?
跨页面通信的方式有哪些?
58 0
|
8月前
|
网络协议 数据安全/隐私保护 网络架构
网络基础之一
网络基础之一
44 0
|
5天前
|
边缘计算 物联网 5G
4G 网络跟 5G 的区别
4G 网络跟 5G 的区别
32 0
|
5天前
|
运维 数据中心
|
5天前
|
存储 缓存 网络协议
网络基础-PosixAPI
网络基础-PosixAPI
40 0
|
5天前
|
存储 Web App开发 移动开发
跨页面通信有多少种技术方式可以实现?
跨页面通信有多少种技术方式可以实现?
76 0
|
10月前
|
存储 编解码 网络协议
网络基础认识(一)
网络基础认识
86 0
|
10月前
|
网络协议 算法 数据挖掘
网络基础认识(二)
网络基础认识
138 0
|
算法 网络协议 网络架构
跨区域网络的通信学习路由表的工作原理
跨区域网络的通信学习路由表的工作原理
186 0