当前位置: 首页 > 知识库问答 >
问题:

Android使用蓝牙检测智能手机

鞠修雅
2023-03-14

我正在开发一款Android应用程序,它需要检测运行应用程序的设备附近的智能手机数量。为此,我有一个计划蓝牙BLE扫描的工作实现。我检测到附近的BLE设备没有问题,但在扫描结果中似乎找不到任何智能手机。

我的问题是:我们可以在Android上使用BLE扫描检测其他智能手机吗?(具体来说;如果我们无法控制其他智能手机中的设置)。

我尝试使用以下蓝牙库扫描BLE设备:

  • RxAndroidBle

为了尝试检测智能手机,我尝试了以下方法:

  • 尝试在扫描结果中查找启用蓝牙的特定辅助Android/iOS设备的蓝牙(mac)地址或设备名称。这包括打开辅助设备上的蓝牙设置,因为这是智能手机与smarthphone配对的工作方式
  • 通过将蓝牙设备类别与smarthphone设备类别或主要类别手机进行比较,检查扫描结果(主要)设备类别

使用设备测试:

  • 摩托罗拉G3-Marshmallow
  • Motorla G6 plus-奥利奥
  • 三星Galaxy S4-Kitkat
  • 三星Galaxy S6-Marshmallow
  • 华为P8 lite-牛轧糖

其他:蓝牙、bluetooth_admin和access_fine_location(运行时)权限都得到照顾。

我似乎无法检测到我测试过的设备的预期mac地址,也没有任何具有“电话类型”设备类的设备。我偶尔遇到的唯一设备类是7936(1F00),也称为“未分类”。否则为0。欢迎有关此问题的任何建议或信息。

共有1个答案

齐招
2023-03-14

通过BLE和经典蓝牙,Android将发现附近目前“可发现”的未配对蓝牙设备。问题是,即使附近的设备启用了蓝牙,它们在进入蓝牙设置页面之前实际上也无法“发现”。

因此,在您的情况下,您似乎不太可能在设备附近检测到未配对的设备。

 类似资料:
  • > 我们正在尝试检测C/C中的事件 我们在Linux上使用Bluez作为我们的蓝牙库 我们的目标是在触发该事件时运行外部脚本 具体来说,我们有一个摩托罗拉H730耳机,上面有一个按钮,我们正在寻找检测按钮的按下情况 我们已经配对了蓝牙设备(hcitool),我们可以连接到它(bluez测试音频),但我们有兴趣将这种方法迁移到C/C 连接设备并按下按钮时,hcidump的输出为: HCI sniff

  • 我正在使用BeagleBone Black和蓝牙USB加密狗V4.0。我的加密狗正在检测iBeacons没有问题,但有没有办法检测开启蓝牙的手机。我正在使用NodeJs和Noble包。 所以,当我使用hcitool lescan时,它也找不到手机,但有了hcitool,就有了选项扫描。当我在终端中调用hcitool扫描时,我得到了我的手机。是否有包装此选项的NodeJs包。我不需要连接到移动设备,

  • 我制作了一个android应用程序来扫描蓝牙设备,并向我的服务器发送一个HTTP请求,这样我就可以检测它们是开着还是关着。我已经用我的带有蓝牙适配器的台式电脑测试过了,效果很好。当检测到电脑上的蓝牙功能时,它显示电脑是打开的,当我关闭电脑上的蓝牙功能时,它是关闭的。现在,我需要使用这个应用程序的设备有:雅伯投影仪、Bose SoundLink和JBL耳机,但我遇到了一些问题。 首先,投影仪似乎无法

  • 最近,我买了一台iBeacon设备,打算创建Android应用程序,以便识别和使用它。我是一个在Android应用程序中使用蓝牙的新手,有很多事情我还不知道。在互联网和本论坛中,我找到了使用Radius Networks的Android IBeacon库的建议,但是,唉,现在它不再可用了: https://github.com/RadiusNetworks/android-ibeacon-serv

  • 我有目标设备的蓝牙mac-id。然而,蓝牙处于隐藏/不可见模式。 这两款手机都是Android手机。(非根)。 我做了研究,我*知道*如果我知道mac id,我可以连接到一个设备(在大多数情况下),但是我只想扫描接近度而不连接,即如果目标设备在蓝牙范围内,我知道它的mac id,我*可以*只*知道它是否接近(或者松散地说,扫描它?)

  • 获取手机蓝牙开启状态, 未授权时先授权再check 示例代码 Swift: RokidMobileSDK.binder.enableBLE() Objc: [RokidMobileSDK.binder enableBLE]; 在 SDKBinderObserver 实现类中的 onBLEEnabled() 函数 获取蓝牙开启状态。 Swift: // 手机蓝牙状态变更,用户是开起来了蓝牙功能