Как обрабатывать сопряжение устройства Bluetooth BLE, когда приложение убито? - PullRequest
0 голосов
/ 18 декабря 2018

Я работаю над приложением, в котором мне нужно подключиться к устройствам BLE и отправить им уведомление из приложения.Мне удалось подключиться и отправить уведомление, когда приложение находится в forground. Когда мое приложение уничтожено, устройства подключены, но уведомление не отправляется на устройство BLE для обновления статуса.Я создал фоновые службы и планировщик заданий для связи между BLE и моим приложением.

For Connecting BLE Device I have used this method.

BluetoothDevice mDevice;BluetoothGatt mConnGatt;

mConnGatt = mDevice.connectGatt (mContext, true, new BluetoothGattCallback () {});

Когда получено push-уведомление, затем запишите данные на устройстве BLE, используя этот метод: / ** * * ЗАПИСЬ ДАННЫХ НА УСТРОЙСТВО BLE * BluetoothGattCharacteristic mWriteGattCharacteristic;* * /

private void writeDataOnGatt(final int value) {
    Log.e("GATT_BLINKING_CLASS", "writeDataOnGatt");
    if (mWriteGattCharacteristic != null) {
        // This method is only called for LED characteristic
        mWriteGattCharacteristic.setValue(value, BluetoothGattCharacteristic.FORMAT_UINT8, 0);
        final int data = mWriteGattCharacteristic.getIntValue(BluetoothGattCharacteristic.FORMAT_UINT8, 0);
        Log.e("GATT_BLINKING_CLASS", "     DATA       " + data);
        if (mBluetoothGatt != null) {
            Log.e("GATT_BLINKING_CLASS", "writeDataOnGatt INSIDE");
            mBluetoothGatt.writeCharacteristic(mWriteGattCharacteristic);
        }
    } 
}
...