android开启wifi热点命令,Android便携式热点的开启状态检测和SSID的获取方法
WIFI热点的开启状态和开启后的SSID如何获取呢?
打开WifiManager.java源码,可找到 getWifiApState() 方法,惊喜的发现直接调用这个方法就能获取到热点的状态,然而在调用的时候并不能调用到这个方法。。。这个方法被隐藏起来了,目前我是通过反射调用的。
/**
* Gets the Wi-Fi enabled state.
* @return One of {@link #WIFI_AP_STATE_DISABLED},
* {@link #WIFI_AP_STATE_DISABLING}, {@link #WIFI_AP_STATE_ENABLED},
* {@link #WIFI_AP_STATE_ENABLING}, {@link #WIFI_AP_STATE_FAILED}
* @see #isWifiApEnabled()
*
* @hide Dont open yet
*/
public int getWifiApState() {
try {
return mService.getWifiApEnabledState();
} catch (RemoteException e) {
return WIFI_AP_STATE_FAILED;
}
}
于是就写了一个放射,获取热点的状态
public static boolean isWifiApOpen(Context context) {
try {
WifiManager manager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
//通过放射获取 getWifiApState()方法
Method method = manager.getClass().getDeclaredMethod("getWifiApState");
//调用getWifiApState() ,获取返回值
int state = (int) method.invoke(manager);
//通过放射获取 WIFI_AP的开启状态属性
Field field = manager.getClass().getDeclaredField("WIFI_AP_STATE_ENABLED");
//获取属性值
int value = (int) field.get(manager);
//判断是否开启
if (state == value) {
return true;
} else {
return false;
}
} catch (NoSuchMethodException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
} catch (NoSuchFieldException e) {
e.printStackTrace();
}
return false;
}
通过 getWifiApState() 方法返回值的注释,可以找到如下几种状态,拿到当前状态值之后,只需要对比各种状态的值,就知道热点的开启状态了
* @return One of {@link #WIFI_STATE_DISABLED},
* {@link #WIFI_STATE_DISABLING}, {@link #WIFI_STATE_ENABLED},
* {@link #WIFI_STATE_ENABLING}, {@link #WIFI_STATE_UNKNOWN}
同样的,也是通过反射获取到热点的SSID
try {
WifiManager manager = (WifiManager) this.getSystemService(Context.WIFI_SERVICE);
//拿到getWifiApConfiguration()方法
Method method = manager.getClass().getDeclaredMethod("getWifiApConfiguration");
//调用getWifiApConfiguration()方法,获取到 热点的WifiConfiguration
WifiConfiguration configuration = (WifiConfiguration) method.invoke(manager);
ssid = configuration.SSID;
} catch (NoSuchMethodException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
以上所述是小编给大家介绍的Android便携式热点的开启状态检测和SSID的获取方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
android开启wifi热点命令,Android便携式热点的开启状态检测和SSID的获取方法相关推荐
- android usb wifi驱动下载,android 平台USB wifi驱动移植及使用
一. Android平台Wifi的基本代码路径 1. Wpa_supplicant源码部分 external/wpa_supplicant_6/ 生成库libwpa_client.so ...
- android进入wifi权限,判断android设备wifi连接状态,判断android设备wifi,添加访问权限(Andro...
判断android设备wifi连接状态,判断android设备wifi,添加访问权限(Andro 添加访问权限(AndroidManifest.xml文件里) ```Java代码(MainActivi ...
- 创建WIFI Direct APP : android.net.wifi.p2p+android.net.wifi.p2p.nsd + Wi-Fi peer-to-peer overview 翻译
一 ) Provides classes to create peer-to-peer (P2P) connections with Wi-Fi Direct. 提供用于使用Wi-Fi Direct创 ...
- android wifi信号强度命令,Android显示wifi信号强度以及周边信号的代码
本帖最后由 liyihongcug 于 2015-1-19 11:26 编辑 http://blog.sina.com.cn/s/blog_9277d4a30101swxn.htmlhttp://bo ...
- android sd卡挂载命令,android - 从android中的adb shell手动挂载SD卡 - 堆栈内存溢出
我有一个Android 4.1手机(联想820). 经过一些旨在对内部SD ram进行分区的更改(更改后,手机将不再安装外部 SD卡.我很擅长Linux,但我从未见过Android shell. 我很 ...
- android 验证wifi密码错误,Android中的Wifi身份验证错误
此代码有效: IntentFilter mIntentFilter = new IntentFilter(); mIntentFilter.addAction(WifiManager.SUPPLICA ...
- android调用wifi打印机,要求Android程序连接到WiFi打印机并物理打印内容
我用下面的代码打印 import java.io.IOException; import android.app.Activity; import android.app.AlertDialog; i ...
- android 验证wifi密码错误,Android – 看看wifi的密码是否正确
我计划制作一个应用程序,检查某个wifi网络是否使用通用密码.我有一个最常见的密码列表,但以下功能: public boolean connectTo(String psKey){ WifiConfi ...
- linux防火墙开启某端口命令行,linux上防火墙 开启某个端口
linux下防火墙 开启某个端口 直接在/etc/sysconfig/iptables中增加一行: -A RH-Firewall-1-INPUT -m state –state NEW -m tcp ...
- android hdmi拔插广播,Android drivers/switch驱动详解(用于通过GPIO状态检测耳机、HDMI等的插拔状态)...
一.相关文件: /drivers/switch/switch_gpio.c /drivers/switch/switch_class.c 二.节点创建流程: 1.在/sys/class/目录下创建&q ...
最新文章
- 序列比对软件/比对工具的比较
- MyEclipse+Tomcat部署发布webapp
- 个人JS体系整理(二)
- 使用驱动器f:中的光盘之前需要将其格式化_硬盘无法使用,用DiskPart进行分区和格式化,非常简单...
- Spring Cloud Feign 负载均衡
- PHP7 ini 配置大全
- 量化信噪比 非均匀量化_键摄基础1:为什么要正确曝光/ADC精度和量化噪声
- HowToDoInJava 其它教程 2 · 翻译完毕
- 达摩院实现自动驾驶核心技术突破,首次实现3D物体检测精度与速度的兼得
- 广州图书馆跳转中国知网教程
- 利用GAN生成动漫头像
- WPS如何并排放置两张图片_动图演示如何制作XRD叠图与PDF卡线图
- android canvas 画圆边缘模糊,Android canvas画圆
- jetson nano 基础设置
- 鸿蒙合香丸是治胃的吗,何任大师治胃病的三个独家良方
- 刚刚加入博客的小白白
- 树莓派4b安装Android10
- Github: 单独删除某个文件的所有历史记录
- Asymmetric Co-Teaching for Unsupervised Cross-Domain Person Re-Identification简单翻译理解
- C#使用GDI+绘制高质量图和字体