当前位置: 首页 > news >正文

Android wifi列表中去自身的热点

Android wifi列表中去自身的热点

一、前言

Android wifi列表中能搜索到自身的热点wifi?
正常手机上都不会出现这个问题;可能是系统底层已经做了过滤处理。

现实开发中Android设备的Wifi能搜索到自身热点也可能会存在。
比如基于两个单独的wifi双模组硬件在设备上运行就有可能出现这个问题;
之前同一个硬件上的双模组wifi硬件都是没有这个问题的。

双模组wifi是为了更好支持wifi和热点隔离的硬件,

Android 双模组的情况可能会存在wifi列表中搜索到自己的热点名称是可以正常连接,
但是设备重启后wifi会处于一直连接和断开的状态。

不确定底层是否可以优化处理这个热点wifi显示的问题;
但是应用上也是可以过滤显示的;
应用扫描到后,不显示到自身的热点wifi,这样也可以避免连接和后续的问题。

Android wifi列表中去自身的热点wifi的关键是判断热点的mac地址和wifi的BSSID是否一致。

这里记录一下,平时不一定用得到!

二、从扫描的Wifi列表中去除自身热点Wifi的实现

1、获取节点的mac地址代码实现

输入节点名称即可获取mac地址。

//获取XXX 节点MAC地址public static String getHardwareAddress(String name) {Enumeration<NetworkInterface> interfaces = null;try {interfaces = NetworkInterface.getNetworkInterfaces();} catch (SocketException e) {e.printStackTrace();}String hardWareAddress = null;NetworkInterface iF = null;if (interfaces == null) {return null;}while (interfaces.hasMoreElements()) {iF = interfaces.nextElement();try {if (iF.getName().equals(name)) {hardWareAddress = bytesToString(iF.getHardwareAddress());break;}} catch (SocketException e) {e.printStackTrace();}}return hardWareAddress;}private static String bytesToString(byte[] bytes) {if (bytes == null || bytes.length == 0) {return null;}StringBuilder buf = new StringBuilder();for (byte b : bytes) {buf.append(String.format("%02X:", b));}if (buf.length() > 0) {buf.deleteCharAt(buf.length() - 1);}return buf.toString();}

上面的就是获取节点信息的代码。节点其他信息有需求的也可以获取。

2、wifi列表中过滤热点wifi的代码

  final List<AccessPoint> accessPoints = mWifiTracker.getAccessPoints();if(mWifiManager.getWifiApState() == WifiManager.WIFI_AP_STATE_ENABLED){//如果热点开了并且WiFi扫描到了本机自己的热点的话去掉String localHotspotMac = EthernetUtil.getHardwareAddress("ap0");LogUtil.debug("ap0 mac = " + localHotspotMac);if(localHotspotMac == null || localHotspotMac.isEmpty()){localHotspotMac = EthernetUtil.getHardwareAddress("wlan1");LogUtil.debug("wlan mac = " + localHotspotMac);}int localHotspotIndex = -1;for (int i = 0; i < accessPoints.size(); i++) {AccessPoint accessPoint = accessPoints.get(i);if(accessPoint.getBssid() != null && accessPoint.getBssid().equalsIgnoreCase(localHotspotMac)){localHotspotIndex = i;LogUtil.debug("accessPoint.getSsidStr()--" + accessPoint.getSsidStr() +" accessPoint.getBssid()--"+accessPoint.getBssid() + localHotspotMac);break;}}if(localHotspotIndex >= 0){accessPoints.remove(localHotspotIndex);LogUtil.debug("accessPoints size after remove:" + accessPoints.size());}}

Android设备热点正常节点都是ap0,但是也会有设备有的wlan1;
也有的两个节点都用的情况,比如热点+投屏;
所以启动哪个节点是热点写死在上面就行,不需要判断两个节点的逻辑。

上面举例的是SettingsLib获取wifi列表的方式获取的wifi信息对象 AccessPoint。

如果是wifi扫描的普通对象ScanResult 也是有BSSID这个信息的。

相关文章:

Android wifi列表中去自身的热点

Android wifi列表中去自身的热点 一、前言 Android wifi列表中能搜索到自身的热点wifi&#xff1f; 正常手机上都不会出现这个问题&#xff1b;可能是系统底层已经做了过滤处理。 现实开发中Android设备的Wifi能搜索到自身热点也可能会存在。 比如基于两个单独的wifi双模组硬…...

Windows环境本地配置pyspark环境详细教程

目录 一、背景简记二、本地单机spark环境配置详细步骤第一步&#xff1a;python环境安装第二步&#xff1a;安装jdk及配置环境变量安装包下载安装环境变量配置 第三步&#xff1a;安装Spark安装包下载安装配置环境变量 第四步&#xff1a;安装hadoop安装包下载安装配置环境变量…...

《自动驾驶与机器人中的SLAM技术》ch9:自动驾驶车辆的离线地图构建

目录 1 点云建图的流程 2 前端实现 2.1 前端流程 2.2 前端结果 3 后端位姿图优化与异常值剔除 3.1 两阶段优化流程 3.2 优化结果 ① 第一阶段优化结果 ② 第二阶段优化结果 4 回环检测 4.1 回环检测流程 ① 遍历第一阶段优化轨迹中的关键帧。 ② 并发计算候选回环对…...

IP属地会随着人的移动而改变吗

在当今数字化时代&#xff0c;互联网已成为人们生活中不可或缺的一部分。无论是社交媒体的日常互动&#xff0c;还是在线购物、远程工作&#xff0c;IP地址作为网络身份的重要标识&#xff0c;扮演着举足轻重的角色。随着移动互联网技术的飞速发展&#xff0c;人们越来越多地在…...

openharmony应用开发快速入门

开发准备 本文档适用于OpenHarmony应用开发的初学者。通过构建一个简单的具有页面跳转/返回功能的应用&#xff08;如下图所示&#xff09;&#xff0c;快速了解工程目录的主要文件&#xff0c;熟悉OpenHarmony应用开发流程。 在开始之前&#xff0c;您需要了解有关OpenHarmon…...

USB3020任意波形发生器4路16位同步模拟量输出卡1MS/s频率 阿尔泰科技

信息社会的发展&#xff0c;在很大程度上取决于信息与信号处理技术的先进性。数字信号处理技术的出现改变了信息 与信号处理技术的整个面貌&#xff0c;而数据采集作为数字信号处理的必不可少的前期工作在整个数字系统中起到关键 性、乃至决定性的作用&#xff0c;其应用已经深…...

云消息队列 Kafka 版 V3 系列荣获信通院“云原生技术创新标杆案例”

2024 年 12 月 24 日&#xff0c;由中国信息通信研究院&#xff08;以下简称“中国信通院”&#xff09;主办的“2025 中国信通院深度观察报告会&#xff1a;算力互联网分论坛”&#xff0c;在北京隆重召开。本次论坛以“算力互联网 新质生产力”为主题&#xff0c;全面展示中国…...

linux下的NFS和FTP部署

目录 NFS应用场景架构通信原理部署权限认证Kerberos5其他认证方式 命令serverclient查看测试系统重启后自动挂载 NFS 共享 高可用实现 FTP对比一些ftp服务器1. **vsftpd (Very Secure FTP Daemon)**2. **ProFTPD (Professional FTP Daemon)**3. **Pure-FTPd**4. **WU-FTPD (Was…...

JS Clipboard API

1.作用 在web应用程序中&#xff0c;当用户授予了相应的权限&#xff0c;Clipboard API 就能实现系统剪切板的复制、粘贴和剪切功能。系统剪切板暴露在Navigator.clipboard 中。 2.例子 window.onload () > {// 监听用户的复制事件document.addEventListener(copy, (e) …...

MySQL中大量数据优化方案

文章目录 1 大量数据优化1.1 引言1.2 评估表数据体量1.2.1 表容量1.2.2 磁盘空间1.2.3 实例容量 1.3 出现问题的原因1.4 解决问题1.4.1 数据表分区1.4.1.1 简介1.4.1.2 分区限制和执行计划1.4.1.3 分区表的索引1.4.1.4 为什么分区键必须是主键的一部分1.4.1.5 操作分区1.4.1.5.…...

重拾Python学习,先从把python删除开始。。。

自己折腾就是不行啊&#xff0c;屡战屡败&#xff0c;最近终于找到前辈教我 第一步 删除Python 先把前阵子折腾的WSL和VScode删掉。还是得用spyder&#xff0c;跟matlab最像&#xff0c;也最容易入手。 从VScode上搞python&#xff0c;最后安装到appdata上&#xff0c;安装插…...

centos 安全配置基线

centos 安全配置基线 一、系统防火墙及SE系统1. 系统自带防火墙iptables&#xff08;Centos6&#xff09;基础命令查看防火墙设置使用命令查看防火墙设置使用命令清除防火墙设置防火墙策略开放指定的端口屏蔽IP 2. 系统自带防火墙firewalled&#xff08;Centos7&#xff09;基础…...

高级编程语言的基本语法在CPU的眼中是什么样的呢?

任何一门高级编程语言&#xff0c;就一定存在下面这几个语法元素 变量类型数组控制语句&#xff08;条件&#xff0c;循环&#xff09;运算符&#xff08;算术运算&#xff0c;布尔运算&#xff0c;赋值运算&#xff0c;关系运算&#xff0c;位运算&#xff09;函数 而本节探…...

Redis 性能优化:多维度技术解析与实战策略

文章目录 1 基准性能2 使用 slowlog 优化耗时命令3 big key 优化4 使用 lazy free 特性5 缩短键值对的存储长度6 设置键值的过期时间7 禁用耗时长的查询命令8 使用 Pipeline 批量操作数据9 避免大量数据同时失效10 客户端使用优化11 限制 Redis 内存大小12 使用物理机而非虚拟机…...

.netframwork模拟启动webapi服务并编写对应api接口

在.NET Framework环境中模拟启动Web服务&#xff0c;可以使用几种不同的方法。一个常见的选择是利用HttpListener类来创建一个简单的HTTP服务器&#xff0c;或者使用Owin/Katana库来自托管ASP.NET Web API或MVC应用。下面简要介绍Owin/Katana示例代码。这种方法更加灵活&#x…...

MongoDB 学习指南与资料分享

MongoDB学习资料 MongoDB学习资料 MongoDB学习资料 在数据爆炸的当下&#xff0c;MongoDB 作为非关系型数据库的佼佼者&#xff0c;以其独特优势在各领域发光发热。无论是海量数据的存储&#xff0c;还是复杂数据结构的处理&#xff0c;MongoDB 都能轻松应对。接下来&#xf…...

【Azure 架构师学习笔记】- Azure Function (2) --实操1

本文属于【Azure 架构师学习笔记】系列。 本文属于【Azure Function 】系列。 接上文【Azure 架构师学习笔记】- Azure Function (1) --环境搭建和背景介绍 前言 上一文介绍了环境搭建&#xff0c;接下来就在本地环境下使用一下。 环境准备 这里我下载了最新的VS studio&…...

扫描深度?滤光片和偏振片区别?

扫描深度 https://www.shining3d.cn/chike/kousao/aoralscan-wireless.html 是指扫描仪能够准确捕捉和测量的最大距离范围。这一参数对于不同类型的三维扫描仪和应用场景非常重要&#xff0c;具体含义包括&#xff1a; 扫描范围 定义: 扫描深度通常指从扫描仪到被扫描物体表…...

HJ4 字符串分隔(Java版)

一、试题地址 字符串分隔_牛客题霸_牛客网 二、试题内容 描述 对于给定的由小写字母和数字混合构成的字符串 s &#xff0c;你需要按每 8 个字符换一行的方式书写它&#xff0c;具体地&#xff1a; 书写前 8 个字符&#xff0c;换行&#xff1b;书写接下来的 88 个字符&am…...

【脑机接口数据处理】matlab读取ns6 NS6 ns5NS5格式脑电数据

文章目录 MATLAB函数openNSx详解&#xff1a;轻松读取NSx文件函数概述下载文件基本用法注意事项示例 结论 MATLAB函数openNSx详解&#xff1a;轻松读取NSx文件 在神经科学和生物医学工程领域&#xff0c;处理神经信号数据是一项常见且重要的任务。NSx文件格式是一种用于存储神…...

除了排错,你可能不知道OPC Expert v8.1还能做这些:数据归档、计算与冗余实战

解锁OPC Expert v8.1的隐藏潜力&#xff1a;数据归档、实时计算与冗余架构实战指南在工业自动化领域&#xff0c;OPC Expert常被视为故障排查的"急救箱"&#xff0c;但它的能力远不止于此。当大多数工程师还在用它解决DCOM配置问题时&#xff0c;少数先行者已经用它重…...

echarts中heatmap鼠标滚动禁用缩放,向下滚动

配置如下效果如下...

告别浪费!SolidWorks企业级共享方案,实现降本增效全攻略

还在为 SolidWorks 高昂的硬件投入和混乱的图纸管理头疼&#xff1f;告别“一人一机”的浪费模式&#xff0c;企业级共享方案才是降本增效的正解。这套攻略基于“1 台高性能服务器 云飞云共享云桌面”架构&#xff0c;帮你把硬件成本砍掉 60%&#xff0c;把软件利用率翻倍。一…...

taotoken如何帮助ubuntu开发者应对大模型api的频繁更新与版本迭代

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 Taotoken如何帮助Ubuntu开发者应对大模型API的频繁更新与版本迭代 对于在Ubuntu环境下进行开发的工程师而言&#xff0c;大模型API…...

FairyGUI Unity鼠标悬停与点击对象获取原理与实战

1. 这不是“加个OnMouseEnter就能用”的事&#xff1a;FairyGUI在Unity中处理鼠标交互的真实困境很多人第一次在Unity里集成FairyGUI&#xff0c;想实现“鼠标悬停显示提示”或“点击高亮当前按钮”&#xff0c;下意识就去翻Unity的MonoBehaviour文档&#xff0c;找OnMouseEnte…...

基于USB ACA模式实现安卓手机边玩边充的游戏手柄设计

1. 项目缘起&#xff1a;当手机性能过剩&#xff0c;却败给了触摸屏几年前&#xff0c;我清理手机游戏时&#xff0c;发现一个挺无奈的现象&#xff1a;性能足以媲美掌机的智能手机里&#xff0c;只剩下一些慢节奏的平台解谜或者数独。那些曾经让我在掌机上废寝忘食的赛车、动作…...

LaTeX公式一键转Word:3步告别数学公式编辑烦恼

LaTeX公式一键转Word&#xff1a;3步告别数学公式编辑烦恼 【免费下载链接】LaTeX2Word-Equation Copy LaTeX Equations as Word Equations, a Chrome Extension 项目地址: https://gitcode.com/gh_mirrors/la/LaTeX2Word-Equation 还在为Word文档中的数学公式编辑而抓狂…...

3分钟搞定专业短视频!Pixelle-Video终极AI创作指南

3分钟搞定专业短视频&#xff01;Pixelle-Video终极AI创作指南 【免费下载链接】Pixelle-Video &#x1f680; AI 全自动短视频引擎 | AI Fully Automated Short Video Engine 项目地址: https://gitcode.com/GitHub_Trending/pi/Pixelle-Video 还在为视频制作发愁吗&am…...

避坑指南:Unity中AABB碰撞检测失效的5种常见原因及解决方法

Unity中AABB碰撞检测失效的深度排查与解决方案在Unity开发中&#xff0c;AABB&#xff08;轴对齐包围盒&#xff09;碰撞检测是基础但容易出问题的环节。许多开发者都遇到过这样的情况&#xff1a;明明逻辑正确&#xff0c;测试时却出现物体穿透、碰撞时有时无等诡异现象。本文…...

3大突破性功能:用HiveWE革新你的魔兽争霸III地图创作体验

3大突破性功能&#xff1a;用HiveWE革新你的魔兽争霸III地图创作体验 【免费下载链接】HiveWE A Warcraft III world editor. 项目地址: https://gitcode.com/gh_mirrors/hi/HiveWE 还在为传统魔兽争霸III编辑器缓慢的加载速度和复杂的操作界面而烦恼吗&#xff1f;Hive…...