Android 判断当前网络 wifi ctwap(cmwap) ctnet(cmnet)

简介:
 
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"); 
 
 } 
相关文章
|
26天前
|
安全 网络安全 Android开发
安卓与iOS开发:选择的艺术网络安全与信息安全:漏洞、加密与意识的交织
【8月更文挑战第20天】在数字时代,安卓和iOS两大平台如同两座巍峨的山峰,分别占据着移动互联网的半壁江山。它们各自拥有独特的魅力和优势,吸引着无数开发者投身其中。本文将探讨这两个平台的特点、优势以及它们在移动应用开发中的地位,帮助读者更好地理解这两个平台的差异,并为那些正在面临选择的开发者提供一些启示。
115 56
|
18天前
|
安全 网络安全 Android开发
探索安卓开发之旅:从新手到专家网络安全与信息安全:防范网络威胁,保护数据安全
【8月更文挑战第29天】在这篇技术性文章中,我们将踏上一段激动人心的旅程,探索安卓开发的世界。无论你是刚开始接触编程的新手,还是希望提升技能的资深开发者,这篇文章都将为你提供宝贵的知识和指导。我们将从基础概念入手,逐步深入到安卓开发的高级主题,包括UI设计、数据存储、网络通信等方面。通过阅读本文,你将获得一个全面的安卓开发知识体系,并学会如何将这些知识应用到实际项目中。让我们一起开启这段探索之旅吧!
|
26天前
|
Java Android开发 Kotlin
Android项目架构设计问题之要在Glide库中加载网络图片到ImageView如何解决
Android项目架构设计问题之要在Glide库中加载网络图片到ImageView如何解决
23 0
|
26天前
|
Java Android开发 开发者
Android项目架构设计问题之使用Retrofit2作为网络库如何解决
Android项目架构设计问题之使用Retrofit2作为网络库如何解决
29 0
|
3月前
|
安全 网络协议 算法
Android网络基础面试题之HTTPS的工作流程和原理
HTTPS简述 HTTPS基于TCP 443端口,通过CA证书确保服务器身份,使用DH算法协商对称密钥进行加密通信。流程包括TCP握手、证书验证(公钥解密,哈希对比)和数据加密传输(随机数加密,预主密钥,对称加密)。特点是安全但慢,易受特定攻击,且依赖可信的CA。每次请求可能复用Session ID以减少握手。
47 2
|
3月前
|
缓存 网络协议 Android开发
Android网络面试题之Http1.1和Http2.0
HTTP/1.1 引入持久连接和管道机制提升效率,支持分块传输编码和更多请求方式如PUT、PATCH。Host字段指定服务器域名,RANGE用于断点续传。HTTP/2变为二进制协议,实现多工处理,头信息压缩和服务器推送,减少延迟并优化资源加载。HTTP不断发展,从早期的简单传输到后来的高效交互。
43 0
Android网络面试题之Http1.1和Http2.0
|
2月前
|
Windows
Win10或Win11更新补丁后导致360随身wifi提示USB设备驱动异常,创建Wifi网络失败
Win10或Win11更新补丁后导致360随身wifi提示USB设备驱动异常,创建Wifi网络失败
503 0
|
4月前
|
Android开发 Python
Python封装ADB获取Android设备wifi地址的方法
Python封装ADB获取Android设备wifi地址的方法
136 0
|
4月前
|
XML API Android开发
Android WIFI使用简述(上)
Android WIFI使用简述(上)
193 0
|
4月前
|
Android开发
Android 状态栏WiFi图标的显示逻辑
Android 状态栏WiFi图标的显示逻辑
109 0