private void onServiceAdded() { final BluetoothLeAdvertiser bluetoothLeAdvertiser = mBluetoothManager.getAdapter().getBluetoothLeAdvertiser(); AdvertiseData.Builder dataBuilder = new AdvertiseData.Builder(); dataBuilder.setIncludeTxPowerLevel(false); // necessity to fit in 31 byte advertisement // dataBuilder.setManufacturerData(0, advertisingBytes); dataBuilder.addServiceUuid(new ParcelUuid(UUID.fromString(Constants.CHAT_SERVICE_UUID))); // dataBuilder.setServiceData(pUUID, new byte[]{}); AdvertiseSettings.Builder settingsBuilder = new AdvertiseSettings.Builder(); settingsBuilder.setAdvertiseMode(AdvertiseSettings.ADVERTISE_MODE_BALANCED); settingsBuilder.setTxPowerLevel(AdvertiseSettings.ADVERTISE_TX_POWER_HIGH); settingsBuilder.setConnectable(true); bluetoothLeAdvertiser.startAdvertising( settingsBuilder.build(), dataBuilder.build(), mAdvertiseCallback); final Handler handler = new Handler(Looper.getMainLooper()); handler.postDelayed( new Runnable() { @Override public void run() { bluetoothLeAdvertiser.stopAdvertising(mAdvertiseCallback); } }, ADVERTISE_TIMEOUT); }