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

android 如何判断已配对的蓝牙是否打开了互联网访问开关

最近遇到一个需求,要判断已配对的蓝牙是否打开了互联网访问的开关。 经查看源码,得出以下方法。

1. 首先要判断蓝牙是否打开
2. 已打开的蓝牙是否已配对
3. 验证是否真正打开

在这里插入图片描述

	/*** 是否打开蓝牙互联网访问*/@SuppressLint("MissingPermission")fun isOpenBleNet(context: Context, bleMac:String): Boolean {val bluetoothManager: BluetoothManager? = context.getSystemService(Context.BLUETOOTH_SERVICE) as BluetoothManager?val mBtAdapter = bluetoothManager?.adapter ?: return falseval isOpen= isBleBoundByMac(mBtAdapter,bleMac)return if (isOpen) {//互联网开关是否打开val panState = mBtAdapter.getProfileConnectionState(5)Log.d("TAG", "-----设备已配对,互联网访问状态: ${panState}")panState == BluetoothProfile.STATE_CONNECTED} else {false}}/***  判断是否已连接配对的蓝牙** @param context* @param strCurBtMac* @return*/@SuppressLint("MissingPermission")fun isBleBoundByMac(mBtAdapter: BluetoothAdapter, strCurBtMac: String?):Boolean {if(!mBtAdapter.isEnabled) return falseval set: Set<BluetoothDevice> = mBtAdapter.bondedDevicesvar device: BluetoothDevice? = nullfor (dev in set) {if (dev.address.equals(strCurBtMac, true)) {device = devbreak}}if (device == null) {return false}//得到BluetoothDevice的Class对象val bluetoothDeviceClass: Class<BluetoothDevice> = BluetoothDevice::class.javatry { //得到连接状态的方法val method: Method = bluetoothDeviceClass.getDeclaredMethod("isConnected")//打开权限method.isAccessible = truereturn method.invoke(device) as Boolean} catch (e: Exception) {e.printStackTrace()}return false}

相关文章:

android 如何判断已配对的蓝牙是否打开了互联网访问开关

最近遇到一个需求&#xff0c;要判断已配对的蓝牙是否打开了互联网访问的开关。 经查看源码&#xff0c;得出以下方法。 1. 首先要判断蓝牙是否打开 2. 已打开的蓝牙是否已配对 3. 验证是否真正打开 /*** 是否打开蓝牙互联网访问*/SuppressLint("MissingPermission&quo…...

在Linux上实现ECAT主站

在Linux上实现ECAT主站 引言介绍EtherCATSOEM 使用下载ECAT主站编译 引言 EtherCAT由一个主站设备和多个从站设备组成。主站设备使用标准的以太网控制器&#xff0c;具有良好的兼容性&#xff0c;任何具有网络接口卡的计算机和具有以太网控制的嵌入式设备都可以作为EtherCAT的…...

Spring Cloud之服务熔断与降级(Hystrix)

目录 Hystrix 概念 作用 服务降级 简介 使用场景 接口降级 服务端服务降级 1.添加依赖 2.定义接口 3.实现接口 4.Controller类使用 5.启动类添加注释 6.浏览器访问 客户端服务降级 1.添加依赖 2.application.yml 中添加配置 3.定义接口 4.Controller类使用 …...

HashMap 哈希碰撞、负载因子、插入方式、扩容倍数

HashMap 怎么解决的哈希碰撞问题&#xff1f; 主要采用了链地址法。具体来说&#xff1a; 每个哈希桶不仅存储一个键-值对&#xff0c;而是存储一个链表或树结构。这样&#xff0c;具有相同哈希值的键-值对可以被存储在同一个哈希桶中&#xff0c;并通过链表或树结构来解决碰…...

【Unity3D】Unity与Android交互

1 Unity 发布 apk 1.1 安装 Android Build Support 在 Unity Hub 中打开添加模块窗口&#xff0c;操作如下。 选择 Android Build Support 安装&#xff0c;如下&#xff08;笔者这里已安装过&#xff09;。 创建一个 Unity 项目&#xff0c;依次点击【File→Build Settings→…...

信号去噪算法

引言 在实际世界中&#xff0c;我们所获得的信号通常都包含了各种干扰和噪音。这些噪音可能来自电子设备、环境条件或传感器本身&#xff0c;它们会损害信号的质量&#xff0c;降低信息提取的准确性。因此&#xff0c;信号去噪和降噪技术在科学、工程和医学领域中扮演着至关重…...

GPT带我学-设计模式-10观察者模式

1 请你介绍一下观察者模式 观察者模式&#xff08;Observer Pattern&#xff09;是一种设计模式&#xff0c;它定义了对象之间的一对多依赖关系&#xff0c;当一个对象&#xff08;被观察者&#xff09;的状态发生改变时&#xff0c;所有依赖于它的对象&#xff08;观察者&…...

JDK - 常用的设计模式

单例模式 &#xff1a; Runtime 类&#xff1a;Java 运行时环境是单例的&#xff0c;可以通过 Runtime.getRuntime() 方法获得实例。Calendar 类&#xff1a;Calendar.getInstance() 方法返回的是一个单例的 Calendar 实例。数据源连接池&#xff1a;连接池的管理通常采用单例模…...

华为OD机考算法题:寻找最大价值的矿堆

题目部分 题目寻找最大价值的矿堆难度难题目说明给你一个由 0&#xff08;空地&#xff09;、1&#xff08;银矿&#xff09;、2&#xff08;金矿&#xff09;组成的的地图&#xff0c;矿堆只能由上下左右相邻的金矿或银矿连接形成。超出地图范围可以认为是空地。 假设银矿价值…...

wf-docker集群搭建(未完结)

系列文章目录 提示&#xff1a;写完文章后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 系列文章目录前言一、redis集群二、mysql集群三、nacos集群1. 环境要求2. 拉取镜像2.1. 拉取镜像方式配置集群2.2. 自定义nacos镜像配置集群 3 自定义…...

uni-app 在 APP 端的版本强制更新与热更新

整包更新与热更新的区别 ① 整包更新是指下载完整 apk 文件进行覆盖安装 ② 热更新是指把 app 有改动的地方打包进 wgt 文件&#xff0c;只更新 wgt 文件中的内容&#xff0c;不进行整包安装&#xff0c;在用户视角也叫做省流量更新 版本号规则约束 建议严格遵循 Semantic …...

实在智能受邀参加第14届珠中江数字化应用大会,AI赋能智能制造,共话“湾区经验”

制造业是实体经济的主体&#xff0c;是技术创新的主战场&#xff0c;是供给侧结构性改革的重要领域。抢占新一轮产业竞争制高点&#xff0c;制造业的数字化转型已成为行业升级的必由之路。 10月21日&#xff0c;第14届“珠中江”&#xff08;珠海、中山、江门&#xff09;数字…...

Qt 窗口的尺寸

默认尺寸 对于一个Qt的窗口&#xff08;继承于QWidget&#xff09;&#xff0c;获取其窗体尺寸的方法size()&#xff1b; 以一个Qt创建Qt Widgets Application项目的默认生成代码为基础&#xff0c;做如下测试 MainWindow::MainWindow(QWidget *parent): QMainWindow(parent…...

游戏数据分析对于运营游戏平台的重要性

游戏数据分析对于运营游戏平台具有至关重要的意义&#xff0c;它可以提供深入的见解&#xff0c;帮助了解玩家行为、偏好和互动&#xff0c;从而优化游戏体验&#xff0c;提高玩家参与度和留存率。 首先&#xff0c;通过游戏数据分析&#xff0c;运营者可以了解玩家在游戏中的表…...

微信群发消息的正确打开方式,让你的社交更高效!

在当今的社交媒体时代&#xff0c;微信已经成为了我们生活中必不可少的一部分。而微信的群发消息功能&#xff0c;让我们可以方便地将信息一次性发送给多个联系人。然而&#xff0c;微信的群发消息功能有一个限制&#xff0c;即每次只能群发200个联系人。这对于需要发送消息给大…...

HTML5语义化标签 header 的详解

&#x1f31f;&#x1f31f;&#x1f31f; 专栏详解 &#x1f389; &#x1f389; &#x1f389; 欢迎来到前端开发之旅专栏&#xff01; 不管你是完全小白&#xff0c;还是有一点经验的开发者&#xff0c;在这里你会了解到最简单易懂的语言&#xff0c;与你分享有关前端技术和…...

SpringCloud复习:(2)@LoadBalanced注解的工作原理

LoadBalanced注解标记了一个RestTemplate或WebClient bean使用LoadBalancerClient来进行负载均衡。 LoadBalancerAutoConfiguration类给带注解的RestTemplate添加了拦截器&#xff1a;LoadBalancerInterceptor. 具体流程如下&#xff1a; 首先定义一个LoadBalancerInterceptor…...

vue钩子函数以及例子

Vue.js 是一个基于组件化的前端框架&#xff0c;它提供了一些钩子函数&#xff0c;用于控制组件在不同阶段的行为和处理。以下是 Vue.js 常用的钩子函数以及它们的作用和示例&#xff1a; beforeCreate&#xff1a;在实例被创建之前调用。此时组件的数据、方法等还没有被初始化…...

redis场用命令及其Java操作

目录 1. Redis入门 1.1 Redis简介 1.2 Redis下载与安装 1.2.1 Redis下载 1.2.2 Redis安装 1.3 Redis服务启动与停止 1.3.1 服务启动命令 1.3.2 客户端连接命令 1.3.3 修改Redis配置文件 1.3.4 Redis客户端图形工具 2. Redis数据类型 2.1 五种常用数据类型介绍 2.2 …...

UG\NX二次开发 同时设置多个对象的高亮状态 UF_DISP_set_highlights

文章作者:里海 来源网站:王牌飞行员_里海_里海NX二次开发3000例,里海BlockUI专栏,C\C++-CSDN博客 感谢粉丝订阅 感谢 captainliubang 订阅本专栏,非常感谢。 简介 UG\NX二次开发 同时设置多个对象的高亮状态 UF_DISP_set_highlights 效果 代码(在for循环中逐个设置多个对象…...

万象视界灵坛部署案例:边缘设备(Jetson Orin)轻量化CLIP推理部署

万象视界灵坛部署案例&#xff1a;边缘设备&#xff08;Jetson Orin&#xff09;轻量化CLIP推理部署 1. 项目概述 万象视界灵坛&#xff08;Omni-Vision Sanctuary&#xff09;是一款基于OpenAI CLIP模型的高级多模态智能感知平台。该平台通过创新的像素风格界面设计&#xf…...

Youtu-VL-4B-Instruct-GGUF助力开源社区:如何向GitHub提交高质量的模型使用案例

Youtu-VL-4B-Instruct-GGUF助力开源社区&#xff1a;如何向GitHub提交高质量的模型使用案例 1. 引言&#xff1a;从使用者到贡献者 不知道你有没有这样的经历&#xff1a;在网上找到一个看起来很酷的开源项目&#xff0c;兴致勃勃地打开它的GitHub页面&#xff0c;结果发现文…...

BetterNCM Installer:让网易云音乐插件管理化繁为简的插件管理工具

BetterNCM Installer&#xff1a;让网易云音乐插件管理化繁为简的插件管理工具 【免费下载链接】BetterNCM-Installer 一键安装 Better 系软件 项目地址: https://gitcode.com/gh_mirrors/be/BetterNCM-Installer 你是否曾经因为安装网易云音乐插件的复杂流程而望而却步…...

不花一分钱!用闲置电脑搭建永久Mac远程控制台(VNC+cpolar固定TCP教程)

零成本打造24小时在线的Mac远程开发环境 你是否有一台闲置的Mac电脑放在角落积灰&#xff1f;或者需要随时随地访问家里的开发环境&#xff1f;将旧Mac改造成全天候在线的远程工作站&#xff0c;不仅能充分利用闲置资源&#xff0c;还能为移动办公提供极大便利。本文将手把手教…...

2026年通用C盘快速清理工具哪个好?一键清理C盘垃圾的免费软件推荐

无论你用的是最新的Windows 11&#xff0c;还是经典的Windows 10&#xff0c;C盘空间不足都是个跨不过去的“坎”。当电脑提示空间不足&#xff0c;运行速度明显变慢时&#xff0c;你最需要的是一款能“快速”上手的“傻瓜式”清理工具。今天&#xff0c;我们就来横向对比几款市…...

7个突破瓶颈技巧:开源字体高效应用指南

7个突破瓶颈技巧&#xff1a;开源字体高效应用指南 【免费下载链接】source-han-serif-ttf Source Han Serif TTF 项目地址: https://gitcode.com/gh_mirrors/so/source-han-serif-ttf 在数字设计与开发领域&#xff0c;选择合适的字体常常让创作者陷入两难——商业字体…...

Reloadium数据库回滚功能:SQLAlchemy和Django ORM的10个最佳实践指南

Reloadium数据库回滚功能&#xff1a;SQLAlchemy和Django ORM的10个最佳实践指南 【免费下载链接】reloadium Hot Reloading, Profiling and AI debugging for Python 项目地址: https://gitcode.com/gh_mirrors/re/reloadium Reloadium是一款强大的Python热重载工具&am…...

Android BSP 开发修改轨迹

一、 Android BSP 整体开发修改轨迹图Android BSP 软件架构 │ ├── 【第1层&#xff1a;Bootloader 引导层】 │ ├── 1.1 一级引导程序&#xff08;Primary Bootloader&#xff09; │ │ ├── ROM Code&#xff08;芯片固化&#xff09; │ │ └── SPL /…...

STM32按键控制LED的5种实用场景与代码优化技巧

STM32按键控制LED的5种实用场景与代码优化技巧 在嵌入式开发中&#xff0c;按键控制LED是最基础却最能体现设计功底的场景之一。很多开发者认为这不过是GPIO的简单操作&#xff0c;但实际项目中&#xff0c;按键响应速度、稳定性、功耗控制等细节往往决定了产品的用户体验。我曾…...

Java AI模型加载失败?3步精准捕获TensorFlow/PyTorch JNI异常根源:附JFR+AsyncProfiler实战诊断模板

第一章&#xff1a;Java AI 推理调试Java 生态中集成 AI 模型&#xff08;如 ONNX Runtime、Triton Java Client 或 Deep Java Library&#xff09;进行推理时&#xff0c;调试常面临模型输入/输出张量不匹配、JNI 调用异常、内存泄漏及线程上下文丢失等典型问题。有效的调试需…...