安卓手机获取当前连接的WIFI相关信息

简介:
package com.lenovo.xiaoshan.test;

import android.app.Activity;
import android.bluetooth.BluetoothAdapter;
import android.content.Context;
import android.content.Intent;
import android.net.wifi.WifiInfo;
import android.net.wifi.WifiManager;
import android.os.Bundle;
import android.widget.TextView;

/**
 * 获取手机WIFI的MAC地址
 * @author 单红宇
 *
 */
public class GetmacipinfoActivity extends Activity {
	/** Called when the activity is first created. */
	private static final int REQUEST_ENABLE_BT = 3;
	private WifiManager mWifi;
	private BluetoothAdapter bAdapt;
	private String btMac;
	private String WifiMac;

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		mWifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);

		if (!mWifi.isWifiEnabled()) {
			mWifi.setWifiEnabled(true);
		}

		WifiInfo wifiInfo = mWifi.getConnectionInfo();

		bAdapt = BluetoothAdapter.getDefaultAdapter();

		if (bAdapt != null) {
			if (!bAdapt.isEnabled()) {
				Intent enBT = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
				startActivityForResult(enBT, REQUEST_ENABLE_BT);
			}

			btMac = bAdapt.getAddress();
		} else {
			btMac = "No Bluetooth Device!";
		}

		if ((WifiMac = wifiInfo.getMacAddress()) == null) {
			WifiMac = "No Wifi Device";
		}

		TextView mac = (TextView) findViewById(R.id.macView);
		mac.setTextSize(16);
		
//		查看已经连接上的WIFI信息,在Android的SDK中为我们提供了一个叫做WifiInfo的对象,这个对象可以通过WifiManager.getConnectionInfo()来获取。WifiInfo中包含了当前连接中的相关信息。
//		getBSSID()  获取BSSID属性
//		getDetailedStateOf()  获取客户端的连通性
//		getHiddenSSID()  获取SSID 是否被隐藏
//		getIpAddress()  获取IP 地址
//		getLinkSpeed()  获取连接的速度
//		getMacAddress()  获取Mac 地址
//		getRssi()  获取802.11n 网络的信号
//		getSSID()  获取SSID
//		getSupplicanState()  获取具体客户端状态的信息
		StringBuffer sb = new StringBuffer();
		sb.append("\n获取BSSID属性(所连接的WIFI设备的MAC地址):" + wifiInfo.getBSSID());
//		sb.append("getDetailedStateOf()  获取客户端的连通性:");
		sb.append("\n\n获取SSID 是否被隐藏:"+ wifiInfo.getHiddenSSID());
		sb.append("\n\n获取IP 地址:" + wifiInfo.getIpAddress());
		sb.append("\n\n获取连接的速度:" + wifiInfo.getLinkSpeed());
		sb.append("\n\n获取Mac 地址(手机本身网卡的MAC地址):" + WifiMac);
		sb.append("\n\n获取802.11n 网络的信号:" + wifiInfo.getRssi());
		sb.append("\n\n获取SSID(所连接的WIFI的网络名称):" + wifiInfo.getSSID());
		sb.append("\n\n获取具体客户端状态的信息:" + wifiInfo.getSupplicantState());
		mac.setText("WIFI网络信息:  " + sb.toString() + "\n\n蓝牙MAC:  " + btMac);
	}
}


目录
相关文章
|
4月前
|
Android开发
HBuilder X连接雷电模拟器(手机模拟器)
HBuilder X连接雷电模拟器(手机模拟器)
HBuilder X连接雷电模拟器(手机模拟器)
|
3月前
|
传感器 数据采集 移动开发
基于STM32的智能手环wifi连接手机APP(下)
基于STM32的智能手环wifi连接手机APP(下)
153 0
|
3月前
|
Java Unix Linux
Android Studio中Terminal运行./gradlew clean build提示错误信息
遇到 `./gradlew clean build`命令执行出错时,首先应检查错误信息的具体内容,这通常会指向问题的根源。从权限、环境配置、依赖下载、版本兼容性到项目配置本身,逐一排查并应用相应的解决措施。记住,保持耐心,逐步解决问题,往往复杂问题都是由简单原因引起的。
420 2
|
3月前
|
传感器 存储 编解码
基于STM32的智能手环wifi连接手机APP(上)
基于STM32的智能手环wifi连接手机APP(上)
102 0
|
3月前
|
Android开发 Swift iOS开发
python 基于电脑蓝牙连接获取手机的实时数据
python 基于电脑蓝牙连接获取手机的实时数据
82 0
|
5月前
|
Ubuntu 网络安全 数据安全/隐私保护
ubuntu server连接wifi教程
本文提供了一个简化Ubuntu Server在Raspberry Pi系统上配置过程的脚本"config_ubuntu_server",包括自动和手动两种方法来设置root权限、SSH配置,并连接WiFi,同时支持无密码SSH访问,适合初学者和高级用户。
123 3
|
5月前
|
存储 JavaScript 前端开发
看过来!准确直观显示手机充电信息的充电统计软件!
基于自制充电统计App,多设备用户可远程查看各设备充电数据。在软件内可以查看预估充电容量等信息
|
7月前
|
数据安全/隐私保护 SEO
蚂蚁分类信息系统二开仿么么街货源客模板微商货源网源码(带手机版)
网站采用蚂蚁分类信息系统二次开发,模板仿么么街货源客模板,微商货源网定制版。 模板设计风格简洁,分类信息采用列表形式发布,这种设计方式非常符合度娘 SEO 规则。收录效果是杠杠的。 这个网站风格目前是用来做货源推广使用的,但不仅限于货源网站。后台无加密,分类目录随意修改。 无论你是想做地方分类信息,二手市场,或者垂直行业信息分类平台都是不错的选择。
54 2
蚂蚁分类信息系统二开仿么么街货源客模板微商货源网源码(带手机版)
|
5月前
|
数据采集 Python
[python]爬取手机号码前缀和地区信息
[python]爬取手机号码前缀和地区信息
|
6月前
|
JavaScript
vue + element UI【实战】音乐播放器/语音条(内含音频的加载、控制,事件监听,信息获取,手机网页阴影的去除等技巧)
vue + element UI【实战】音乐播放器/语音条(内含音频的加载、控制,事件监听,信息获取,手机网页阴影的去除等技巧)
138 1