Search code examples
androidbluetooth-lowenergyandroid-4.3-jelly-beanrssi

How to get the RSSI of bluetooth device in real time in Android 4.3?


I am developing an application where I have to connect to Bluetooth Low Energy device on Android 4.3.

When I push the button, I can get the RSSI of the BLE device after connect to the device by using BluetoothLeService.readRemoteRssi();

But I want to get the RSSI in every second ?? I have try the Runnable, but it does't call the readRemoteRssi(); function in log.

final Runnable runnable = new Runnable() {

@Override
public void run() {
    // TODO Auto-generated method stub
    mBluetoothLeService.readRemoteRssi();
    mHandler.postDelayed(runnable, 1000);
}

};

Where should I type the BluetoothLeService.readRemoteRssi(); ??

in onResume ?? or how to do can let the APP always get the RSSI ??

Sorry for my English and I am just new to this.

Thanks for your direction!


Solution

  • I have solve it.

    modify the code of following:

    final Runnable runnable = new Runnable() {  
            @Override
            public void run() {
                // TODO Auto-generated method stub
                mBluetoothLeService.readRemoteRssi();
                mHandler.postDelayed(this, 1000);
            }
        };
    

    and add mHandler.postDelayed(runnable, 1000); in onCreate