Android利用反射获取WLAN热点信息

news/2024/11/20 12:33:28/

当然使用前需初始化wifiManager

mWifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);private static final String TAG = "wifiHelper";
private WifiManager mWifiManager = null;//判断WLAN状态是否开启
public boolean isWifiApOn() {Method method = null;int i = 0;try {method = mWifiManager.getClass().getMethod("getWifiApState");} catch (NoSuchMethodException e) {e.printStackTrace();}try {i = (Integer) method.invoke(mWifiManager);} catch (IllegalAccessException e) {e.printStackTrace();} catch (InvocationTargetException e) {e.printStackTrace();}Log.i(TAG, "wifi sharing state -> " + i);// 10---正在关闭;11---已关闭;12---正在开启;13---已开启return i == 13;
}
//设置WLAN状态
public boolean setWifiApEnabled(boolean enabled) {Method method = null, configMethod = null;boolean result = false;if (mWifiManager == null) {Log.i(TAG, "mWifiManager is null  -> " + result);return result;}try {configMethod = mWifiManager.getClass().getMethod("getWifiApConfiguration");method = mWifiManager.getClass().getMethod("setWifiApEnabled", WifiConfiguration.class, boolean.class);} catch (Exception e) {e.printStackTrace();}try {WifiConfiguration apConfig = (WifiConfiguration) configMethod.invoke(mWifiManager);result = (boolean) method.invoke(mWifiManager, new Object[]{apConfig, enabled});} catch (IllegalAccessException e) {e.printStackTrace();} catch (InvocationTargetException e) {e.printStackTrace();}Log.i(TAG, "setWifiApEnabled -> " + result);return result;
}//获取WLAN SSID
public String getWifiApSSID() {Method method = null;String SSID = null;try {method = mWifiManager.getClass().getMethod("getWifiApConfiguration");} catch (Exception e) {e.printStackTrace();}try {WifiConfiguration apConfig = (WifiConfiguration) method.invoke(mWifiManager);SSID = apConfig.SSID;} catch (IllegalAccessException e) {e.printStackTrace();} catch (InvocationTargetException e) {e.printStackTrace();} catch (Exception e) {e.printStackTrace();}Log.i(TAG, "getWifiApSSID -> " + SSID);return SSID;
}//获取WLAN 密码
public String getWifiApSharedKey() {Method method = null;String SharedKey = null;try {method = mWifiManager.getClass().getMethod("getWifiApConfiguration");} catch (Exception e) {e.printStackTrace();}try {WifiConfiguration apConfig = (WifiConfiguration) method.invoke(mWifiManager);SharedKey = apConfig.preSharedKey;} catch (IllegalAccessException e) {e.printStackTrace();} catch (InvocationTargetException e) {e.printStackTrace();} catch (Exception e) {e.printStackTrace();}return SharedKey;
}

http://www.ppmy.cn/news/634003.html

相关文章

Android11.0 默认开启WLAN热点设置默认热点名称和密码

1.概述 11.0定制产品需要在开机后默认开启热点的产品,这就需要在开机后默认打开热点而开机后第一个弹出来的就是锁屏界面 所以就想在锁屏界面收到开机广播后添加开启热点,实现开启热点的功能 2.默认开启WLAN热点设置默认热点名称和密码的核心类 /framework/base/packages/…

Android 9.0 默认开启WLAN热点设置默认热点名称和密码

1.概述 在android 9.0的系统产品开发中,在项目产品需求中,对于wifi和默认热点的使用也是常有的功能,在最近的项目开发中,需要开启WLAN热点,然后设置WLAN的默认热点 的名称和密码功能,所以需要在系统启动完毕后,开启默认热点的ssid和密码。 2.默认开启WLAN热点设置默认热…

MIUI系统手机实现WLAN热点桥接

双方可上网 py打包 Pyinstaller打包exe(包括打包资源文件 绝不出错版) 依赖包及其对应的版本号 PyQt5 5.10.1 PyQt5-Qt5 5.15.2 PyQt5-sip 12.9.0 pyinstaller 4.5.1 pyinstaller-hooks-contrib 2021.3 Pyinstaller -F setup.py 打包exe Pyinstal…

Android8.1 9.0 10.0 默认开启WLAN热点设置默认热点名称和密码

1.概述 在10.0的系统产品开发中, 由于产品需要定制款默认开启热点的机子,这就需要在开机后默认打开热点 而开机后第一个弹出来的就是锁屏界面 所以就想在锁屏界面手动开机广播后添加开启热点的功能 2.默认开启WLAN热点设置默认热点名称和密码的核心类 /framework/base/pac…

Android8.1 MTK平台 WLAN热点定制

默认启用 WLAN 热点 核心方法打开关闭 WLAN 热点从 SystemUI 中的 qsTile 快捷开关中提取 既然要默认启用这里选择加到 KeyguardUpdateMonitor.java 中,监听开机广播 vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/keyguard/KeyguardUpda…

【转】Win10系统创建WiFi热点的两种方法

现在电脑和wifi已经成为很多人生活中不可缺少的一部分,上网过程只有连接WiFi才可以上网。使用windows10系统开启WiFi热点都是提示没有找到支持的无线网卡。不管你是驱动更新,重装,还是怎么操作都是不能用。为此,大家不妨参考下文方…

阿里云ECS U实例评测

参与ECSU实例评测,申请免费体验机会:https://developer.aliyun.com/mission/review/ecsu What u1实例是什么? u1实例本质上还是ecs服务器,但是是阿里云推出的一种新型实例规格族 阿里云根据使用场景和业务场景将ecs划分为不同的…

Windows上安装Redis教程

Windows上安装Redis教程 一、下载 Redis1. 下载 Redis 压缩包2. 把下载好的压缩包移动到自己的安装目录下 二、安装 Redis三、配置 Redis3.1 配置 Redis 环境变量3.2 配置 Redis 后台服务 一、下载 Redis 1. 下载 Redis 压缩包 我这里下载的是 Redis 5.0 下载地址:…