`
44289533
  • 浏览: 64696 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

手机网络环境相关的代码

阅读更多
获取本机IP、MAC,判断网络是否可用,获取wifi状态


public class NetworkUtil {

	/**
	 * 获取本机IP
	 * 
	 * @return
	 */
	public static String getIpAddress() {
		try {
			Enumeration<NetworkInterface> enumeration = NetworkInterface
					.getNetworkInterfaces();
			while (enumeration.hasMoreElements()) {
				NetworkInterface nextElement = enumeration.nextElement();
				Enumeration<InetAddress> enIp = nextElement.getInetAddresses();
				while (enIp.hasMoreElements()) {
					InetAddress ipaddress = enIp.nextElement();
					if (!ipaddress.isLoopbackAddress()) {
						return ipaddress.getHostAddress().toString();
					}
				}
			}
		} catch (SocketException e) {
			e.printStackTrace();
		}
		return null;
	}

	/**
	 * 判断网络是否可用
	 * 
	 * @param context
	 * @return
	 */
	public static boolean isConnect(Context context) {
		// 获取手机所有连接管理对象(包括对wi-fi,net等连接的管理)
		try {
			ConnectivityManager connectivity = (ConnectivityManager) context
					.getSystemService(Context.CONNECTIVITY_SERVICE);
			if (connectivity != null) {
				// 获取网络连接管理的对象
				NetworkInfo info = connectivity.getActiveNetworkInfo();
				if (info != null && info.isConnected()) {
					// 判断当前网络是否已经连接
					if (info.getState() == NetworkInfo.State.CONNECTED) {
						return true;
					}
				}
			}
		} catch (Exception e) {
			Log.v("====", e.toString());
		}
		return false;
	}

	/**
	 * 获取本机MAC地址
	 * 
	 * @param ctx
	 * @return
	 */
	public static String getMacAddress(Context ctx) {
		WifiManager wfMgr = (WifiManager) ctx
				.getSystemService(Context.WIFI_SERVICE);
		WifiInfo info = wfMgr.getConnectionInfo();
		return info.getMacAddress();
	}

	/**
	 * 获取wifi状态
	 * 
	 * @param ctx
	 * @return
	 */
	public static String getNetWorkStatus(Context ctx) {
		WifiManager wfMgr = (WifiManager) ctx
				.getSystemService(Context.WIFI_SERVICE);
		int state = wfMgr.getWifiState();
		String status = null;
		switch (state) {
		case WifiManager.WIFI_STATE_DISABLED:
			status = "使用不可(DISABLED)";
			break;
		case WifiManager.WIFI_STATE_DISABLING:
			status = "停止中(DISABLING)";
			break;
		case WifiManager.WIFI_STATE_ENABLED:
			status = "使用可(ENABLED)";
			break;
		case WifiManager.WIFI_STATE_ENABLING:
			status = "起動中(ENABLING)";
			break;
		case WifiManager.WIFI_STATE_UNKNOWN:
			status = "未知(UNKNOWN)";
			break;
		}
		WifiInfo info = wfMgr.getConnectionInfo();
		status += " AP MAC(" + info.getBSSID() + ") DBM値(" + info.getRssi()
				+ ")";
		return status;
	}

}

 

分享到:
评论

相关推荐

    Android代码-检测网络是否正常

    由于有厂商博弈与大环境因素的复杂情况,国行安卓手机/平板的“网络定位”有许多是不能正常工作的,这带来的后果是包括HTML5网络定位不能正常工作等。 虽然有各种教程帖均提及恢复“NetworkLocation.apk”等方式恢复...

    手机wifi传文件的一简单代码

    1.手机先建立一个wifi网络 ssid随便写一个就ok 选中设备到设备 在填写个ip地址,跟子网掩码跟笔记本一个网段就行了 2.vs写个Server段程序,服务端负责接受客户端传过来的文件名,跟文件数据 接收文件名的代码如下 ...

    java五子棋手机网络对战游戏的设计与实现(源代码+LW).zip

    java五子棋手机网络对战游戏的设计与实现(源代码+LW) 项目运行所需环境: Jdk1.8 Tomcat8 Idea2020 Mysql8(pdm文件是SqlServer数据库)

    5G随身WIFI开源项目,SA+NSA网络环境和Sub-6GHz频段WiFi5技术,拥有2.4G5G双频核心完整项目代码

    网络性能方面,支持SA+NSA网络环境和Sub-6GHz频段,下行峰值速率1.6Gb/s,上行峰值速率225Mb/s,5G速度快,覆盖广。 5G/4G网络可无缝自动快速切换,保持随时随地持久连接。设备采用2X2 WiFi5技术,拥有2.4G/5G双频...

    Netty网络框架客户端和服务端通讯示例代码

    本人很久没有上CSDN逛了,因为自从2012开始转入手机游戏开发行业之后,就没有时间上CSDN社区了。嘿嘿,还有好这么年过去了,偶居然还有机会给社区作一些贡献嘛。好了,转入正题了。本示例是给刚开始接触Netty编程的...

    J2ME网络游戏代码

    本来想做一整套手机游戏平台,但应业余安排时间不多,故只完成五子棋一个游戏。 游戏说明,支持人与人,人机,机机 对站,有大厅,一个大厅可以容纳24桌同时开战,实时更新大厅和所有玩家信息,支持悔棋,求和,认输...

    网络文件下载程序-基于Java源代码.rar

    网络文件下载程序-基于Java的源代码,给定一个文件的网络URL地址,本程序将从该地址获取(下载)文件,java环境的手机,可直接运行本程序,具体代码:  in = (InputStream) Connector.openInputStream(url); //...

    JAVA五子棋手机网络对战游戏的设计与实现(源代码+论文).rar

    SpringBoot 毕业设计,SpringBoot 课程设计,基于SpringBoot+Vue开发的,含有代码注释,新手也可看懂。ssm整合开发,小程序毕业设计、期末大作业、课程设计、高分必看,下载下来,简单部署,就可以使用。 包含:...

    安卓实现网络情况监测,网络连接是否有效,判断移动网络还是WIFI

    安卓端实现对APP实时网络的检测,可判断此时手机能否访问网络,以及判断出此时是在使用移动流量还是WIFI,代码里有解释和介绍。博客介绍可看https://blog.csdn.net/weixin_38611617/article/details/115296055

    OA系统+手机版源码t源代码

    采用现代最新技术,建立一种新概念的、开放的现代管理和办公环境,它以TCP/IP、广域网互连、路由、防火墙和网络管理技术为核心,建立一个安全可靠的网络应用平台。利用最新的ASP.NET平台、javascript和AJAX、SQL...

    Android高级编程--源代码

     ◆与电话和网络硬件相关的所有内容,如电话api、sms和网络管理等  ◆高级开发主题,包括安全、ipc以及一些高级图形和用户界面技术  读者对象  本书面向希望在android手机平台上创建应用程序的所有人员。不管是...

    Easytalk博客系统代码审计.docx

    代码审计练习,从本地搭建环境到详细代码审计步骤再到漏洞验证一条龙。EasyTalk是国内首款多用户PHP+Mysql开源微博客系统,支持网页、手机等多种方式发表和接收信息,EasyTalk微博客系统是由兰州乐游网络科技有限...

    整合应用构建和谐校园网络环境

    一旦出现运行故障或系统异常,BTNM可以准确 地对故障进行定位,并将故障信息通过Email、手机短信等方式及时通知学院的相关技术人员,大大缩短了发现和解决故障的时间,降低了校方网络运行的风险系数。北塔网络运维...

    论坛源代码文件

    您可修改相关logo,但请在贵站为softatm留个链接,以表对我们工作的支持,谢谢! GBBS微论坛,界面简约,风格大气,支持手机终端管理,是首款二维码论坛,首款话题可以与淘宝宝贝绑定的论坛,继承论坛的即时、自由...

    课程设计,竞赛方案,采用 Jittor 神经网络框架,基于 MNIST 数据集,使用 CGAN 条件生成对抗网络进行手写数字生成

    Window, Linux,Mac 均可,主要依赖于 Jittor 神经网络框架的安装环境。 Jittor 神经网络框架安装详见 Jittor 官网安装教程 numpy, Pillow 文件说明 checkpoints 文件夹 discriminator_last.pkl 判别网络的权重...

    WIFI手机实现的PPT翻页器——程序和源代码(C#和Python 两种实现方式)

    4、本人手机是HTC Touch T3333,可以实现音量控制键翻页,对与其他设备可能需要修改代码,适当调整或者可以联系我。 软件更新:http://i.isclab.org 涉及到的技术: C# Form编程 C# Socket编程 C# 调用Win32API ...

    计算机网络安全相关资料分享.zip

    新环境下安全基础架构研究 信息等级保护体系在云安全中的应用 一种基于分层聚类方法的木马通信行为检测模型 移动恶意代码的关联与追踪 移动手机应用软件安全测试 重要行业信息系统安全风险 自主可控云计算平台关键...

    ASP.NET网络办公助理设计与实现(源代码+论文).rar

    **ASP.NET网络办公助理设计与实现(源代码+论文)** 本资源提供了一个基于ASP.NET技术的网络办公助理系统,旨在...通过使用本资源,您将能够快速构建一个高效、便捷的网络办公环境,提升团队的工作效率和管理水平。

    JAVA上百实例源码以及开源项目源代码

     Java绘制图片火焰效果,源代码相关注释:前景和背景Image对象、Applet和绘制火焰的效果的Image对象、Applet和绘制火焰的效果的Graphics对象、火焰效果的线程、Applet的高度,图片到图片装载器、绘制火焰效果的X坐标...

Global site tag (gtag.js) - Google Analytics