Android便携式热点的开启状态检测和SSID的获取方法

发布时间 - 2026-01-10 22:28:23    点击率:

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热点开启  # 热点ssid获取  # Android 连接Wifi和创建Wifi热点的实例  # Android获取周围WIFI热点服务  # android编程实现设置、打开wifi热点共享供他人连接的方法  # android多行标签热点示例  # Android获取实时连接热点的设备IP  # 小编  # 返回值  # 我是  # 就能  # 在此  # 给大家  # 写了  # 几种  # 只需要  # 并不能  # 可以找到  # 所述  # 给我留言  # 感谢大家  # 判断是否  # 疑问请  # 有任何  # 就知道  # 直接调用  # 起来了 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: JavaScript如何实现继承_有哪些常用方法  Win11怎么关闭资讯和兴趣_Windows11任务栏设置隐藏小组件  Laravel如何使用Passport实现OAuth2?(完整配置步骤)  Midjourney怎样加参数调细节_Midjourney参数调整技巧【指南】  html5如何设置样式_HTML5样式设置方法与CSS应用技巧【教程】  个人网站制作流程图片大全,个人网站如何注销?  桂林网站制作公司有哪些,桂林马拉松怎么报名?  手机怎么制作网站教程步骤,手机怎么做自己的网页链接?  JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)  Android利用动画实现背景逐渐变暗  Laravel如何实现全文搜索_Laravel Scout集成Algolia或Meilisearch教程  高端企业智能建站程序:SEO优化与响应式模板定制开发  Laravel与Inertia.js怎么结合_使用Laravel和Inertia构建现代单页应用  Python文件异常处理策略_健壮性说明【指导】  公司网站制作价格怎么算,公司办个官网需要多少钱?  如何用wdcp快速搭建高效网站?  Laravel路由怎么定义_Laravel核心路由系统完全入门指南  Laravel如何实现本地化和多语言支持_Laravel多语言配置与翻译文件管理  Python面向对象测试方法_mock解析【教程】  Laravel如何安装Breeze扩展包_Laravel用户注册登录功能快速实现【流程】  如何在阿里云域名上完成建站全流程?  如何快速搭建高效简练网站?  Laravel如何实现URL美化Slug功能_Laravel使用eloquent-sluggable生成别名【方法】  百度输入法ai组件怎么删除 百度输入法ai组件移除工具  什么是javascript作用域_全局和局部作用域有什么区别?  做企业网站制作流程,企业网站制作基本流程有哪些?  今日头条AI怎样推荐抢票工具_今日头条AI抢票工具推荐算法与筛选【技巧】  网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?  Laravel如何发送邮件和通知_Laravel邮件与通知系统发送步骤  湖南网站制作公司,湖南上善若水科技有限公司做什么的?  Linux虚拟化技术教程_KVMQEMU虚拟机安装与调优  Laravel怎么写单元测试_PHPUnit在Laravel项目中的基础测试入门  Laravel怎么发送邮件_Laravel Mail类SMTP配置教程  长沙企业网站制作哪家好,长沙水业集团官方网站?  如何在阿里云服务器自主搭建网站?  如何在阿里云虚拟服务器快速搭建网站?  悟空识字如何进行跟读录音_悟空识字开启麦克风权限与录音  西安市网站制作公司,哪个相亲网站比较好?西安比较好的相亲网站?  如何在Windows 2008云服务器安全搭建网站?  Python文件操作最佳实践_稳定性说明【指导】  Python结构化数据采集_字段抽取解析【教程】  php嵌入式断网后怎么恢复_php检测网络重连并恢复硬件控制【操作】  JavaScript中如何操作剪贴板_ClipboardAPI怎么用  如何使用 jQuery 正确渲染 Instagram 风格的标签列表  HTML5空格和nbsp有啥关系_nbsp的作用及使用场景【说明】  Win11搜索栏无法输入_解决Win11开始菜单搜索没反应问题【技巧】  Laravel怎么实现验证码(Captcha)功能  Android GridView 滑动条设置一直显示状态(推荐)  高配服务器限时抢购:企业级配置与回收服务一站式优惠方案  北京的网站制作公司有哪些,哪个视频网站最好?