如何在Android L中的StartAvertising()中将广告数据设置为外设的scanResponse
如Android L中API参考中所述,此处提供: 有两种方法可以使用蓝牙低能量启动Android L中的广告数据:如何在Android L中的StartAvertising()中将广告数据设置为外设的scanResponse,android,bluetooth,android-5.0-lollipop,peripherals,Android,Bluetooth,Android 5.0 Lollipop,Peripherals,如Android L中API参考中所述,此处提供: 有两种方法可以使用蓝牙低能量启动Android L中的广告数据: public void startAvertising(广告设置、广告设置、广告数据、广告回调) public void startAvertising(广告设置、广告设置、广告数据、广告数据扫描响应、广告回调) 第二个方法包含另一个参数:scanResponse 当我使用第一种方法时,一切正常,我可以扫描广告数据中的信息集。但是,当我测试第二种方法时,我只能在scanRespo
advertiseCallback = new AdvertiseCallback() {
@Override
public void onSuccess(AdvertiseSettings advertiseSettings) {
Log.i(TAG, "Adv Success");
// Other operations
}
@Override
public void onFailure(int i) {
// Other operations
}
};
从LogCat可以看出,onSuccess()方法被调用了两次,我认为这可能是以下两个原因之一:
1.advertiseData和scanResponse数据,而advertiseData可能导致蓝牙问题,因此无法广播;
2.advertiseData启动(成功)(可能)后关闭(成功)
我用错了这个方法吗?我使用Nexus5和Android L预览版,还是它是当前Android系统的bug
参考:
方法:public void startAvertising(广告设置、广告数据、广告数据扫描响应、广告回调)
启动蓝牙广告。操作成功后,将广播advertiseData扫描设备发送活动扫描请求时,将返回扫描响应。方法立即返回,操作状态通过回调传递
需要蓝牙管理
参数
蓝牙广告的设置
要在广告包中广告的广告数据
扫描响应与广告数据关联的扫描响应
广告状态的回调