Так что базовая информация о том, чтобы обновить макет, который является ImageView, но для этого нужно прекратить ранжирование для маяков и использовать beaconManager.unbind (контекст) и другое обновление привязки изображения снова beaconManager .bind (context) probleam заключается в том, что этот контекст должен быть «org.altbeacon.beacon.BeaconConsumer», как создать контекст этого типа или не так, но нужно вызвать другой метод beaconManager для остановки rangin и начать снова?обновить макет при чтении расстояний от Beacon
public void didRangeBeaconsInRegion(Collection<Beacon> beacons, Region region) {
/*
if (beacons.size() > 0) {
Log.i(TAG, "The first beacon I see is about " + beacons.iterator().next().getDistance() + " meters away.");
}
*/
for(Beacon beacon: beacons){
double distancia = beacon.getDistance();
if(false) {
int rssi = beacon.getRssi();
int power = beacon.getTxPower();
//double distancia = beacon.getDistance();
distancias.add(beacon.getDistance());
Log.i(TAG, "Beacon detected with id1: " + beacon.getId1() + " id2:" + beacon.getId2() + " id3: " + beacon.getId3() + " distance: " + beacon.getDistance());
Log.i(TAG, "rss value->" + rssi + " power->" + power);
}
if(distancia <= 1.0){
Log.i(TAG,"esta a 1m de alcance");
/*
Bitmap bmp = BitmapFactory.decodeResource(context.getResources(),R.drawable.image5m);
Radar.setImageBitmap(bmp);
*/
}else if(distancia <= 2.0){/
Log.i(TAG,"esta a 2m de alcance");
//org.altbeacon.beacon.BeaconConsumer
//beaconManager.setAndroidLScanningDisabled(true);//setMonitorNotifier
beaconManager.unbind(ex);
Bitmap bmp = BitmapFactory.decodeResource(context.getResources(), R.drawable.image10m);
Radar.setImageBitmap(bmp);
Я не знаю, почему вы хотите, чтобы остановить в диапазоне для маяков в этом случае, но правильный способ, чтобы остановить в пределах, чтобы позвонить 'beaconManager.stopRangingBeaconsInRegion (область),' вместо вызова 'отвязать ' – davidgyoung
ok, я хочу обновить макет, но получаю' Только исходный поток, создавший иерархию представлений, может коснуться его представлений, так есть ли прямой способ остановить поток lib, чтобы вернуться к основному потоку? –
См. Мой ответ для простого решения. – davidgyoung