Reading RSSI value of connected Bluetooth Low Energy device in Android Studio
Asked Answered
S

1

7

I am working on a BLE project in Android Studio and would like to read the RSSI value of a device which I have already connected to. So far I was able to discover new devices via LE Scan and get their RSSI from there. However, once I connect to a device I can no longer run a scan and get the RSSI.

This is the code for discovering new devices before connecting to one of them. Not sure how relevant it is to my question though:

private BluetoothAdapter.LeScanCallback mLeScanCallback =
        new BluetoothAdapter.LeScanCallback() {

    @Override
    public void onLeScan(final BluetoothDevice device,final int rssi, byte[] scanRecord) {
        runOnUiThread(new Runnable() {
            @Override
            public void run() {
                mLeDeviceListAdapter.addDevice(device, rssi);
                //mLeDeviceListAdapter.notifyDataSetChanged();
                try {
                    mLeDeviceListAdapter.notifyDataSetChanged();
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
    }
};

Thanks in advance

Siouan answered 22/10, 2015 at 8:36 Comment(1)
Are you pairing them?Myriam
O
8

You have to use the readRemoteRssi() Async Call and then get the RSSI value using the Callback. https://developer.android.com/reference/android/bluetooth/BluetoothGatt.html#readRemoteRssi()

As detailed here, https://stackoverflow.com/a/20236561

Oleviaolfaction answered 27/10, 2015 at 12:10 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.