Я хочу измерить расстояние между android телефонами и по этой причине мне нужно получать rssi отсканированных устройств каждую секунду, я решил работать с BluetoothClassicLibrary, который позволяет мне получить значение rssi, используя это:
BluetoothConfiguration config = new BluetoothConfiguration();
config.context = getApplicationContext();
config.bluetoothServiceClass = BluetoothClassicService.class;
config.bufferSize = 1024;
config.characterDelimiter = '\n';
config.deviceName = "Your App Name";
config.callListenersInMainThread = true;
config.uuid = UUID.fromString("00001101-0000-1000-8000-00805f9b34fb"); // Required
BluetoothService.init(config);
service = BluetoothService.getDefaultInstance();
service.setOnScanCallback(new BluetoothService.OnBluetoothScanCallback() {
@Override
public void onDeviceDiscovered(BluetoothDevice device, int rssi) {
Toast.makeText(MainActivity.this, device.getName()+" "+rssi, Toast.LENGTH_SHORT).show();
}
@Override
public void onStartScan() {
Toast.makeText(MainActivity.this, "start", Toast.LENGTH_SHORT).show();
}
@Override
public void onStopScan() {
Toast.makeText(MainActivity.this, "stop", Toast.LENGTH_SHORT).show();
}
});
service.startScan();
Моя проблема в том, что я получаю rssi только один раз, а затем он останавливается, я пытаюсь получить значение rssi без остановки, даже если приложение находится в фоновом режиме или убито, пожалуйста, помогите!