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

支持Android 5 BLE外围模式的芯片组/设备

韦正业
2023-03-14

**目前已知设备概述:Nexus 6、Nexus 9、Moto E 4G LTE、LG G4、Galaxy S6、三星Galaxy S5(SM-G900M型)、Nexus 5X、索尼Xperia Z5 Compact、三星Galaxy Tab S2**

**另请参见https://altbeacon.github.io/android-beacon-library/beacon-transmitter-devices.html **

Android 5版本的一个新功能是支持蓝牙低能耗外围模式。虽然它被提升为独立于所用设备工作,但它似乎依赖于芯片组(请参阅BluetoothAdapter.java中的isMultiAdvertisementSupported()函数)。

它适用于Nexus 5,但不适用于Nexus 7(在BLE外围设备支持Android-L示例中称为bug,但由于其芯片组,它可能永远不会工作?)。而且https://code.google.com/p/android-developer-preview/issues/detail?id=589不提供结论性陈述。

我担心的是,由于许多较旧的设备预计将配备Android 5,只有最新的平板电脑(和相对较新的手机)将支持BLE外围模式。对于依赖这种新的Android 5功能的应用程序的最终用户来说,这可能不清楚。

对于我来说,目前还不清楚哪些芯片组/设备将最终支持Android 5,支持BLE外围模式。谁能给我一些关于这方面的见解?哪些芯片组将支持BLE外围模式?更具体地说,由于我们的许多客户都有Nexus 7(2013),Nexus 7会得到支持吗?

编辑19-2-2015:自2014年12月起,Nexus 5不再支持它,似乎只有Nexus 6和9支持BLE外围模式/广告。希望支持此功能的设备数量在不久的将来会显着增加。

更多信息和讨论请点击此处:https://code.google.com/p/android-developer-preview/issues/detail?id=1570

编辑6-3-2015:添加概述以供快速参考

编辑17-2-2016:添加了一些我自己检查过但不在任何其他列表中的设备

共有1个答案

滕璞瑜
2023-03-14

Android 5.0.X将只允许您为BLE使用新的API。这个新的API附带了一个新功能,这是你在问题中提到的:可以从你自己的Android设备在外围模式下使用它进行广告。然而,这一新功能的不利之处在于它依赖于硬件。例如,在开始任何BLE之前,您需要:

首先:检查BLE是否受支持,可以通过在清单中添加这一行来实现:

第二:您需要使用以下方法检查您的芯片组是否支持它:

bluetoothAdapter.isMultipleAdvertisementSupported();
bluetoothAdapter.isOffloadedFilteringSupported();
bluetoothAdapter.isOffloadedScanBatchingSupported();

还请注意,对于上述两种方法,API文档明确指出:

msgstr"如果芯片组支持多广告,则返回true"

“如果芯片组支持片上过滤,则为true”

“如果芯片组支持片上扫描批处理,则为true”

话虽如此,但这给我们带来了一个问题:

"哪些硬件设备将支持此功能?"

嗯,这个问题的答案有点复杂,因为这不是蓝牙硬件/协议的强制性功能,而且可能会因制造商而异。但目前,官方唯一支持该技术的设备是Nexus 6和Nexus 9,没有重大问题,因为它们的硬件已经提供了支持。你能做的最好的事情,不是现在仅仅依靠技术,而是尝试探索其他可能的解决方案(如果有的话)。

 类似资料:
  • 问题内容: 我在Homestead流浪者盒子上运行 Laravel 5.4 。我已经使用命令安装了所有npm依赖项。那没有产生任何错误。 在我的 webpack.min.js 文件中,我有: 当我要运行时,出现以下错误: 这可能是什么问题? 问题答案: 我在Ubuntu上的旧版本的nodejs包也遇到了同样的问题。我刚刚更新到7.5,并且可以正常工作。

  • 我有一个抽象类“A”,它具有枚举类型“OutputType”的属性,还有一个抽象方法calculation(),它需要执行certin计算,并根据OutputType值以double[]**形式输出结果。 我也有一个类定义为D1,D2,D3...D20,从A派生,其中每个Di类实现A的计算()方法不同。 问题是并非所有的OutputType值(calculation()输出类型)都在每个Di中都受

  • 这篇来自radius networks的博客文章讨论了Android设备如何还不能用作iBeacons(又名:BLE外设模式),即使设备的硬件支持BLE,因为Android没有用于BLE外设模式的API。 注:BLE表示蓝牙低能量 我非常需要来自Android的BLE外设模式支持,目前我会同意黑客的一些东西,希望Android最终会支持这个功能集,顺便说一下,这已经是一个功能请求

  • 在Android4.3之前,支持蓝牙低能耗的Android设备只能充当中央设备。正如Android 4.3蓝牙LE文档中所给出的: 随着Android4.4 KitKat的推出,它现在是否也能表现为外围设备呢?我找不到任何关于这一点的文件。如果没有,那么我们是否必须等待Android 4.5才能在Android设备上获得BTLE外设模式?或者有没有其他方法可以让Android设备充当外围设备?

  • 我遵循的角度英雄之旅教程。 加载应用程序localhost时,我立即在Chrome浏览器(v47)中收到以下错误:3000。同一应用程序在Firefox(v45)中不会产生错误: SyntaxError:SystemJSLoader的eval(本机)上的严格模式外尚不支持块作用域声明(let、const、函数、类)__执行官(http://localhost:3000/node_modules/s

  • 如何检测android设备的芯片组信息? 例如,禁用芯片组上的某些功能。(本问题中讨论的1080p编码MediaCodec编码视频底部有绿色条,色度混乱) 我查看了http://developer.android.com/reference/android/os/build.html,但似乎没有任何相关内容。