Прекратить рекламу после получения сервером сообщения - PullRequest
0 голосов
/ 11 октября 2019

Я пытаюсь отправить простую строку с устройства Android на hololens через Bluetooth.

Я уже выполнил это, но устройство Android непрерывно отправляет строку на сервер после вызова startAdvertising();* 1004. *

BluetoothAdapter mBluetoothAdapter;
BluetoothLeAdvertiser mBLEAdvertiser;

private void startAdvertising(int manufactureId, byte[] manufactureData) throws InterruptedException {

    if (mBLEAdvertiser == null) return;
    AdvertiseSettings settings = new AdvertiseSettings.Builder()
            .setAdvertiseMode(AdvertiseSettings.ADVERTISE_MODE_BALANCED)
            .setConnectable(false)
            .setTimeout(0)
            .setTxPowerLevel(AdvertiseSettings.ADVERTISE_TX_POWER_MEDIUM)
            .build();
    AdvertiseData data = new AdvertiseData.Builder()
            .addManufacturerData(manufactureId, manufactureData)
            .build();
        mBLEAdvertiser.startAdvertising(settings, data, mAdvertiseCallback);

1 Ответ

0 голосов
/ 14 октября 2019

Когда AdvertiseSettings.Builder # setTimeout () устанавливает значение рекламного времени равным 0, ограничение по времени будет отключено, и реклама всегда будет работать, если не вызывается BluetoothLeAdvertiser # stopAdvertising ().

Дополнительная информацияпожалуйста см .: https://developer.android.com/reference/android/bluetooth/le/AdvertiseSettings.Builder.html#setTimeout(int)

...