How to get the RSSI of bluetooth device in real ti

2019-03-01 01:48发布

问题:

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!

回答1:

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