我正试图在Android L上创建一个广告客户,而我的另一个android设备正在扫描该设备,并试图与它建立连接。
但每次我打电话给connectGatt,我都会在关贸总协定的回调中得到BluetoothProfile.STATE_DISCONNECTED。
我就是这样创建广告的
// advertisement settings
AdvertiseSettings.Builder builderSetting= new AdvertiseSettings.Builder();
builderSetting.setAdvertiseMode(AdvertiseSettings.ADVERTISE_MODE_BALANCED);
builderSetting.setConnectable(true);
builderSetting.setTimeout(0);
builderSetting.setTxPowerLevel(AdvertiseSettings.ADVERTISE_TX_POWER_HIGH);
//advertisement data
AdvertiseData.Builder builderData = new AdvertiseData.Builder();
builderData.addServiceUuid(new
ParcelUuid(UUID.fromString("00002a29-0000-1000-8000-00805f9b34fb")));
byte mServiceData[] =
{ (byte)0xff, (byte)0xfe, (byte)0x00, (byte)0x01, (byte)0x02, (byte)0x03, (byte)0x04 };
// i tried with addding service data
builderData.addServiceData(new
ParcelUuid(UUID.fromString("00002a29-0000-1000-8000-00805f9b34fb")), mServiceData);
//start advertising
mBTAdvertiser.startAdvertising(
builderSetting.build(),
builderData.build(), mAdvCallback);发布于 2015-07-14 14:08:33
既然我还不能发表评论,我就试着给它一个答案。
在您的示例中,我只看到启用了广告。然而,要提供GATT服务,您还需要创建一个GATT服务器来处理请求.
查看BluetoothManager.openGattServer(.)的文档。
祝好运!
https://stackoverflow.com/questions/31048146
复制相似问题