Sho*_*uri 15 android bluetooth-lowenergy android-4.4-kitkat
直到Android 4.3,支持蓝牙低功耗的Android设备才能充当中央设备.正如在Android 4.3蓝牙LE文档中给出的那样:
Android 4.3(API Level 18)在中心角色中引入了对Bluetooth Low Energy的内置平台支持,并提供了应用程序可用于发现设备,查询服务和读/写特征的API.
随着Android 4.4 KitKat的推出,它现在也可以作为外围设备使用吗?我找不到任何相关文件.如果没有,那么我们是否必须等待Android 4.5才能在Android设备上获得BTLE外设模式?或者有没有其他方法可以让Android设备充当外围设备?
小智 17
不是在这个版本,但有证据表明它即将到来.
如果你在android-19源代码中查看BluetoothGatt.java,那么有新的方法,listen并且setAdvData在android-18中没有.
但是这些没有记录,因为我认为原生支持还没有完成.最后一次在AOSP上检查外设模式的标题是"LE:添加外设角色支持(2/4)".此外,setAdvData和listen有这样的代码:
if (mContext == null || !mContext.getResources().getBoolean(com.android.internal.R.bool.config_bluetooth_le_peripheral_mode_supported))
{
throw new UnsupportedOperationException("BluetoothGatt#listen is blocked");
}
Run Code Online (Sandbox Code Playgroud)
从Android源查看android/platform_frameworks_base/blob/master/core/res/res/values/config.xml,您可以看到当前已禁用:
<!-- Boolean indicating if current platform supports BLE peripheral mode -->
<bool name="config_bluetooth_le_peripheral_mode_supported">false</bool>
Run Code Online (Sandbox Code Playgroud)
Sho*_*uri 11
谢谢大家的答案.只是为了更新,截至2014年6月,它在Android L Developer预览版中提供.希望在Android L官方发布中看到它.来自他们的博客New in Android:L Developer Preview和Google Play Services 5.0:
L Developer Preview让您可以探索下一版Android的许多新功能,并提供开始在新平台上开发和测试所需的一切.以下是开发人员的一些亮点:
BLE外设模式 - Android设备现在可以在蓝牙低功耗(BLE)外设模式下运行.应用程序可以使用此功能将其状态广播到附近的设备 - 例如,您现在可以构建应用程序,让设备充当计步器或健康监视器,并将数据传输到另一个BLE设备.
更新:
坏消息是,BLE外围设备模式只适用于较新的Android设备(按照日期),即Nexus 6和Nexus 9.即使您使用Nexus 4/Nexus 5/nexus 7/nexus 10也无法使用将其更新到Android 5.0.您可以通过BLE广告模式下的某个Android项目经理阅读评论,而不是工作票.他说:
我们在Android 5.0 Lollipop中引入了BLE外设模式.Nexus 6和Nexus 9是首批支持BLE外设模式的两款Nexus设备.由于硬件芯片组依赖性,较旧的Nexus设备(4/5/7)将无法访问Lollipop上的功能.
http://developer.android.com/sdk/api_diff/19/changes.html
通过查看完整的api差异,答案简短:NO
==============
现在,要添加外围角色支持,您必须亲自动手在OS级别自定义Bluedroid堆栈,或者试试XDA开发人员的运气,看看是否有人之前已经这样做了.不过,我不确定目前的Android手机是否支持硬件级别的外围设备角色.
| 归档时间: |
|
| 查看次数: |
13637 次 |
| 最近记录: |