android 获取手机蓝牙是否与其他设备蓝牙配对连接成功,android开发获取手机已连接的蓝牙设备(包括已链接的设备和已经配对绑定的设备)...
在应用开发中有时会碰到操作蓝牙设备的需求,这时就需要获取手机已连接的蓝牙设备,其中"已连接"是广泛含义,其实蓝牙设备分为可链接设备(比如:蓝牙音箱 蓝牙耳机) 和可绑定设备(比如:手机 蓝牙自拍杆 蓝牙手表 蓝牙键盘等设备) 其中的区别就是connected状态,用int表示其区别共有三个值 10表示无绑定也无链接 11表示绑定 12表示链接。
如果通过标准协议api获取已连接的设备由于其实现机制返回结果会比较慢,可通过如下反射方式来获取:
//获取已连接的蓝牙设备
private void getConnectedBtDevice(){
BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter();
ClassbluetoothAdapterClass = BluetoothAdapter.class;//得到BluetoothAdapter的Class对象
try {
//得到连接状态的方法
Method method = bluetoothAdapterClass.getDeclaredMethod("getConnectionState", (Class[]) null);
//打开权限
method.setAccessible(true);
int state = (int) method.invoke(adapter, (Object[]) null);
if(state == BluetoothAdapter.STATE_CONNECTED){
Log.i("BLUETOOTH","BluetoothAdapter.STATE_CONNECTED");
Setdevices = adapter.getBondedDevices(); //集合里面包括已绑定的设备和已连接的设备
Log.i("BLUETOOTH","devices:"+devices.size());
for(BluetoothDevice device : devices){
Method isConnectedMethod = BluetoothDevice.class.getDeclaredMethod("isConnected", (Class[]) null);
method.setAccessible(true);
boolean isConnected = (boolean) isConnectedMethod.invoke(device, (Object[]) null);
if(isConnected){ //根据状态来区分是已连接的还是已绑定的,isConnected为true表示是已连接状态。
Log.i("BLUETOOTH-dh","connected:"+device.getName());
//deviceList.add(device);
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
android 获取手机蓝牙是否与其他设备蓝牙配对连接成功,android开发获取手机已连接的蓝牙设备(包括已链接的设备和已经配对绑定的设备)...相关推荐
- 苹果11蓝牙配对不成功怎么办_如果iphone11无法连接到蓝牙耳机怎么办
当一些小伙伴使用新的iPhone11连接蓝牙耳机时,他们不知道为什么他们不能一直连接,这非常伤脑筋.这是什么?别担心,今天的3DM迷你编辑器为您带来了详细的解决方案.我相信这一定会解决你的问题. ip ...
- win10打开蓝牙_双系统共用蓝牙键鼠(win10+macOS)
双系统苦逼的蓝牙设备连接问题 在使用双系统的时候,相信大家都遇到过一个问题:每次从一个系统启动到另外一个系统,蓝牙键鼠一直得重新连接,特别麻烦!虽然问题不大,但是总觉得心里有疙瘩,每次都要耽误不少时间 ...
- arduino(19 ):使用ESP32连接 PS3 蓝牙手柄,需要在windows 上先连接成功,然后在修改mac地址,才可以连接成功,但是目前正在测试中,需要在windows上配对成功。
目录 前言 1,关于 Arduino 2,使用 Arduino 3,arduino上连接 4,Linux 5,总结 前言 相关arduino 全部分类: https://blog.csdn.net/f ...
- win8连接wifi成功但受限制_必看丨“格力+”手机APP,智能WiFi连接教程。(含AI语音连接教程)...
早上出门忘关空调回家就想感受惬意凉爽格力智能WIFI空调内置WIFI智能模块只需安装格力+APP即可轻松实现远程操作人在远方,家在身边."格力+"APP连接教程指引(视频)准备工作 ...
- 蓝牙透传实验_蓝牙模块主机与从机透传
这里面只介绍主机的使用,因为从机默认就是透传模式 主从蓝牙模块通信是指两个蓝牙模块互相通信, 一个为主机, 一个为从机, 它们相互之间通 信,第一个模块为从机模块,第二个模块是主机模块 第一步 将主机 ...
- ftp文件服务器连接超时,ftp服务器连接成功 获取文件超时
ftp服务器连接成功 获取文件超时 内容精选 换一换 有以下几种现象:将制作好的SD卡插入开发者板并上电后,开发者板LED1与LED2灯状态信息异常.将制作好的SD卡插入开发者板,并通过USB方式连接 ...
- 计算机如何通过手机连接网络连接网络,手机通过usb连接电脑上网,教您手机怎么通过usb连接电脑上网...
众所周知,或许将二者结合起来效果会更不错,能够让手机和电脑连接起来的一个重要的渠道就是USB接口.那么如何让手机通过USB接口连接电脑上网呢?不知道的用户还是有很多,下面,小编就来跟大家分享手机通过u ...
- Android 设备蓝牙连接扫描枪获取扫描内容
Android 设备蓝牙连接扫描枪获取扫描内容 标签(空格分隔): 未分类 条形扫描枪主要可以扫描条形码和二维码等,扫描速度比手机扫描设备快得多,本文简单介绍android 通过蓝牙监听蓝牙连接,当扫 ...
- android 获取设备旋转角度,获取Android设备的方向,Sensor和SensorManager实现手机旋转角度...
http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2012/1009/425.html 带有g-sensor的Android设备上可通过API ...
最新文章
- 胡总和老朱说的一个小技巧
- 残差网络(Residual Networks, ResNets)
- 四川300家旅游企业将用上阿里云
- python pyusb库使用教程【在window10系统上操作USB】(操作Intel Realsense D435)
- GitChat · 大数据 | 一步一步学习大数据:Hadoop 生态系统与场景
- 彼聆智能语音机器人_电销行业的人工智能:智能语音电话机器人
- Revit二次开发之“让对象处于被选择状态”
- python写dnf脚本怎么过检测_DNF脚本会被检测到吗?
- 谷粒商城学习笔记(3)-- 分布式组件
- 汽车电子ISO7637-2 5A/5B抛负载测试详解
- 【计算机网络】一篇文章带你分清波特率和比特率~
- Centos软件安装库文件缺失(sqliteman安装中Could not find QScintilla library)
- 战神引擎 ggtools授权工具_由虚幻始,再由虚幻生,谈谈虚幻引擎对于黑神话:悟空的助力...
- linux 磁盘格式化xfs,大磁盘分区格式化XFS文件系统
- 《广西经济社会发展报告(2019)》正式发布 聚焦发展热点
- 卷积神经网络的现代雏形——LeNet
- .lnk文件 和一种较新的.lnk病毒及解决方法
- bind dlz mysql rpm_智能DNS --BIND DLZ+MYSQL
- Python正则表达式清洗微博文本特殊符号(网址, @, 表情符等)
- Sicily 1484. 守望者的逃离
热门文章
- springboot自定义异常
- 阿里云人脸识别接口调用卡顿,超时
- 搭建syslog服务器
- 微信5.0订阅号 OR 服务号?
- ORA-27090: Unable to reserve kernel resources for asynchronous disk I/O
- Android流媒体处理流程分析
- DSOframer 无法正常加载的解决方案
- 杜教筛(上):整除分块,积性函数,欧拉与莫比乌斯
- linux 5.5 关机,linux杂记(五)正确关机方法(shutdown,reboot,init,halt)
- C++ lambda函数详解