Почему менеджер маяка просто находит маяк? - PullRequest
0 голосов
/ 18 января 2019

Моя проблема в том, что менеджер маяков просто находит маяк.

Мой код указан ниже;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
//location permission
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
        requestPermissions(new String[]{Manifest.permission.ACCESS_COARSE_LOCATION}, 1234);
    }
    button = (Button) findViewById(R.id.b1);
  //button onClick
    button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            mBeaconManager = BeaconManager.getInstanceForApplication(getApplicationContext());
            mBeaconManager.getBeaconParsers().add(new BeaconParser().
            setBeaconLayout(BeaconParser.EDDYSTONE_UID_LAYOUT));
            mBeaconManager.getBeaconParsers().add(new BeaconParser().
                    setBeaconLayout(BeaconParser.EDDYSTONE_TLM_LAYOUT));
            mBeaconManager.getBeaconParsers().add(new BeaconParser().
                    setBeaconLayout(BeaconParser.EDDYSTONE_URL_LAYOUT));
            mBeaconManager.bind(MainActivity.this);
        }
    });
}
@Override
public void onBeaconServiceConnect() {
    ArrayList<Identifier> identifiers = new ArrayList<>();
    identifiers.add(null);
    Region region = new Region("all-beacons-region", identifiers);
    try {
        mBeaconManager.startRangingBeaconsInRegion(region);
    } catch (RemoteException e) {
        e.printStackTrace();
    }
    mBeaconManager.addRangeNotifier(this);
}

// отображение размера маяка @Override public void didRangeBeaconsInRegion (Коллекция маяков, регион региона) {Log.i (TAG, "" + beacons.size ()); } }

Результат beacon.size 1. Но есть три маяка. Что я должен сделать, чтобы найти более одного маяка? Я буду счастлив, если вы сможете мне помочь.

...