Если я правильно помню, этот обратный вызов выполняется в отдельном потоке, поэтому не следует помещать обновления просмотра непосредственно в обратный вызов.Если вы просто хотите протестировать, вы можете обернуть обновления представлений внутри вызова runOnUiThread () и посмотреть, работает ли это.
runOnUiThread(new Runnable(){
public void run(){
//set the value of your textviews here
}
}
}
В идеале, хотя вы должны отделить сканирование от действия.Я бы поместил код сканирования BLE в службу, которая либо связана с деятельностью клиента, либо отправляет обновление прослушивающим клиентам с помощью LiveData / локального менеджера широковещания.