在Android BLE中,广播器(Advertiser)的主要作用是向其他设备广播设备的信息。一个设备可以拥有多个广播器来广播多种不同的信息,但是每个设备最多只能同时使用4个广播器。如果想要使用更多的广播器,需要先停止之前的广播器才能启用新的广播器。
下面是一个使用广播器的示例代码:
private BluetoothLeAdvertiser mBluetoothLeAdvertiser;
private AdvertiseCallback mAdvertiseCallback;
public void startAdvertising() {
mBluetoothLeAdvertiser = BluetoothAdapter.getDefaultAdapter().getBluetoothLeAdvertiser();
AdvertiseSettings settings = new AdvertiseSettings.Builder()
.setAdvertiseMode(AdvertiseSettings.ADVERTISE_MODE_LOW_POWER)
.setTxPowerLevel(AdvertiseSettings.ADVERTISE_TX_POWER_LOW)
.setConnectable(true)
.build();
AdvertiseData data = new AdvertiseData.Builder()
.setIncludeDeviceName(true)
.addServiceUuid(ParcelUuid.fromString(SampleGattAttributes.SERVICE_UUID))
.build();
mAdvertiseCallback = new AdvertiseCallback() {
@Override
public void onStartSuccess(AdvertiseSettings settingsInEffect) {
Log.i(TAG, "Advertising onStartSuccess");
}
@Override
public void onStartFailure(int errorCode) {
Log.e(TAG, "Advertising onStartFailure: " + errorCode);
}
};
mBluetoothLeAdvertiser.startAdvertising(settings, data, mAdvertiseCallback);
}
public void stopAdvertising() {
mBluetoothLeAdvertiser.stopAdvertising(mAdvertiseCallback);
}
上一篇:AndroidBLE栈缓存服务?