Android 判断当前网络 wifi 3gwap(cmwap) 3gnet(cmnet)

2024-02-05 21:32

本文主要是介绍Android 判断当前网络 wifi 3gwap(cmwap) 3gnet(cmnet),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Java代码   [url=javascript:void()]Android 判断当前网络 wifi 3gwap(cmwap) 3gnet(cmnet) - Tienfook - Tienfooks Blogs.[/url]
  1. package lab.sodino.net;   
  2.     
  3.  import java.net.InetAddress;   
  4.     
  5.  import android.app.Activity;   
  6.  import android.content.Context;   
  7.  import android.net.ConnectivityManager;   
  8.  import android.net.NetworkInfo;   
  9.  import android.net.wifi.WifiInfo;   
  10.  import android.net.wifi.WifiManager;   
  11.  import android.os.Bundle;   
  12.  import android.widget.ScrollView;   
  13.  import android.widget.TextView;   
  14.     
  15.  public class NetAct extends Activity {   
  16.     private TextView textView;   
  17.     
  18.     public void onCreate(Bundle savedInstanceState) {   
  19.         super.onCreate(savedInstanceState);   
  20.         textView = new TextView(this);   
  21.         textView.setBackgroundColor(0xffffffff);   
  22.         textView.setTextColor(0xff0000ff);   
  23.         textView.setTextSize(15.0f);   
  24.         textView.setScrollBarStyle(TextView.SCROLLBARS_OUTSIDE_OVERLAY);   
  25.     
  26.         ScrollView scrollView = new ScrollView(this);   
  27.         scrollView.addView(textView);   
  28.         setContentView(scrollView);   
  29.         getLocalHost();   
  30.         getWifiInfo();   
  31.         initNetworkInfo();   
  32.     }   
  33.     
  34.     private void getLocalHost() {   
  35.         try {   
  36.             InetAddress iAdd = InetAddress.getLocalHost();   
  37.             String line = "";   
  38.             String hostName = iAdd.getHostName();   
  39.             if (hostName != null) {   
  40.                 InetAddress[] adds = InetAddress.getAllByName(hostName);   
  41.                 for (int i = 0; i  < adds.length; i++) {   
  42.                     iAdd = adds;   
  43.                     line = "HostName=" + iAdd.getHostName() + "\n";   
  44.                     textView.append(line);   
  45.                     line = "CanonicalHostName=" + iAdd.getCanonicalHostName()   
  46.                             + "\n";   
  47.                     textView.append(line);   
  48.                     line = "HostAddress=" + iAdd.getHostAddress() + "\n";   
  49.                     textView.append(line);   
  50.                     textView.append("\n");   
  51.                 }   
  52.             }   
  53.         } catch (Exception e) {   
  54.             e.printStackTrace();   
  55.     
  56.         }   
  57.     }   
  58.     
  59.     public void getWifiInfo() {   
  60.         WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);   
  61.         WifiInfo info = wifi.getConnectionInfo();   
  62.         textView.append("HiddenSSID=" + info.getHiddenSSID() + "\n");   
  63.         textView.append("IpAddress=" + info.getIpAddress() + "\n");   
  64.         textView.append("LinkSpeed=" + info.getLinkSpeed() + "\n");   
  65.         textView.append("NetworkId=" + info.getNetworkId() + "\n");   
  66.         textView.append("Rssi=" + info.getRssi() + "\n");   
  67.         textView.append("SSID=" + info.getSSID() + "\n");   
  68.         textView.append("MacAddress=" + info.getMacAddress() + "\n");   
  69.     }   
  70.     
  71.     public void initNetworkInfo() {   
  72.         ConnectivityManager mag = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);   
  73.         // 此处输出当前可用网络   
  74.         textView.append("\nActive:\n");   
  75.         NetworkInfo info = mag.getActiveNetworkInfo();   
  76.         textView.append("ExtraInfo=" + info.getExtraInfo() + "\n");   
  77.         textView.append("SubtypeName=" + info.getSubtypeName() + "\n");   
  78.         textView.append("TypeName=" + info.getTypeName() + "\n");   
  79.     
  80.         textView.append("\nWifi:\n");   
  81.         NetworkInfo wifiInfo = mag   
  82.                 .getNetworkInfo(ConnectivityManager.TYPE_WIFI);   
  83.     
  84.         textView.append("ExtraInfo=" + wifiInfo.getExtraInfo() + "\n");   
  85.         textView.append("SubtypeName=" + wifiInfo.getSubtypeName() + "\n");   
  86.         textView.append("TypeName=" + wifiInfo.getTypeName() + "\n");   
  87.         NetworkInfo mobInfo = mag   
  88.                 .getNetworkInfo(ConnectivityManager.TYPE_MOBILE);   
  89.         textView.append("\nMobile:\n");   
  90.         textView.append("ExtraInfo=" + mobInfo.getExtraInfo() + "\n");   
  91.         textView.append("SubtypeName=" + mobInfo.getSubtypeName() + "\n");   
  92.         textView.append("TypeName=" + mobInfo.getTypeName() + "\n");   
  93.     }   
  94.  }  

这篇关于Android 判断当前网络 wifi 3gwap(cmwap) 3gnet(cmnet)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/682227

相关文章

Android Paging 分页加载库使用实践

《AndroidPaging分页加载库使用实践》AndroidPaging库是Jetpack组件的一部分,它提供了一套完整的解决方案来处理大型数据集的分页加载,本文将深入探讨Paging库... 目录前言一、Paging 库概述二、Paging 3 核心组件1. PagingSource2. Pager3.

Java获取当前时间String类型和Date类型方式

《Java获取当前时间String类型和Date类型方式》:本文主要介绍Java获取当前时间String类型和Date类型方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录Java获取当前时间String和Date类型String类型和Date类型输出结果总结Java获取

Android kotlin中 Channel 和 Flow 的区别和选择使用场景分析

《Androidkotlin中Channel和Flow的区别和选择使用场景分析》Kotlin协程中,Flow是冷数据流,按需触发,适合响应式数据处理;Channel是热数据流,持续发送,支持... 目录一、基本概念界定FlowChannel二、核心特性对比数据生产触发条件生产与消费的关系背压处理机制生命周期

Android ClassLoader加载机制详解

《AndroidClassLoader加载机制详解》Android的ClassLoader负责加载.dex文件,基于双亲委派模型,支持热修复和插件化,需注意类冲突、内存泄漏和兼容性问题,本文给大家介... 目录一、ClassLoader概述1.1 类加载的基本概念1.2 android与Java Class

Linux中压缩、网络传输与系统监控工具的使用完整指南

《Linux中压缩、网络传输与系统监控工具的使用完整指南》在Linux系统管理中,压缩与传输工具是数据备份和远程协作的桥梁,而系统监控工具则是保障服务器稳定运行的眼睛,下面小编就来和大家详细介绍一下它... 目录引言一、压缩与解压:数据存储与传输的优化核心1. zip/unzip:通用压缩格式的便捷操作2.

Go语言中nil判断的注意事项(最新推荐)

《Go语言中nil判断的注意事项(最新推荐)》本文给大家介绍Go语言中nil判断的注意事项,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1.接口变量的特殊行为2.nil的合法类型3.nil值的实用行为4.自定义类型与nil5.反射判断nil6.函数返回的

Android DataBinding 与 MVVM使用详解

《AndroidDataBinding与MVVM使用详解》本文介绍AndroidDataBinding库,其通过绑定UI组件与数据源实现自动更新,支持双向绑定和逻辑运算,减少模板代码,结合MV... 目录一、DataBinding 核心概念二、配置与基础使用1. 启用 DataBinding 2. 基础布局

Android ViewBinding使用流程

《AndroidViewBinding使用流程》AndroidViewBinding是Jetpack组件,替代findViewById,提供类型安全、空安全和编译时检查,代码简洁且性能优化,相比Da... 目录一、核心概念二、ViewBinding优点三、使用流程1. 启用 ViewBinding (模块级

python判断文件是否存在常用的几种方式

《python判断文件是否存在常用的几种方式》在Python中我们在读写文件之前,首先要做的事情就是判断文件是否存在,否则很容易发生错误的情况,:本文主要介绍python判断文件是否存在常用的几种... 目录1. 使用 os.path.exists()2. 使用 os.path.isfile()3. 使用

SpringBoot服务获取Pod当前IP的两种方案

《SpringBoot服务获取Pod当前IP的两种方案》在Kubernetes集群中,SpringBoot服务获取Pod当前IP的方案主要有两种,通过环境变量注入或通过Java代码动态获取网络接口IP... 目录方案一:通过 Kubernetes Downward API 注入环境变量原理步骤方案二:通过