Как маяк обнаруживает старшее и младшее больше 1? - PullRequest
0 голосов
/ 25 апреля 2019

Я получил проект от колледжа, чтобы сделать всплывающее уведомление

, поэтому я сделал свой телефон как маяк.и сделать проверку для получения уведомления, обнаружив основные и второстепенные из его маяка.

, поэтому я опубликую основные и второстепенные после обнаружения некоторого маяка, но я получил спам из этого кода, поэтому в журнале я получил те же основныеи минор непрерывно, как я могу опубликовать мажор и минор один раз, если маяк один, и дважды опубликовать с разными мажор и минор, если маяк два и т. д.

`@Override
public void onBeaconServiceConnect() {
    beaconManager.removeAllRangeNotifiers();
    beaconManager.addRangeNotifier(new RangeNotifier() {
        @Override
        public void didRangeBeaconsInRegion(Collection<Beacon> beacons, Region region) {
            for (Beacon temp : beacons) {
                    if (beacons.size() > 0) {
                        MajorBeacon MajID = new MajorBeacon("Major:"+temp.getId2().toString(),"Minor"+temp.getId3().toString());

                        MajID.setMajor(temp.getId2().toString());
                        Log.i(TAG, "The first beacon I see is about " + beacons.iterator().next().getDistance() + " meters away.");
                 Log.i(TAG2,"Hello major id kamu:"+MajID.getMajor());
                        Log.i(TAG3,"Hello minor id kamu:33");
                       Post(MajID);
                    }

            }
        }
    });


    try {
        beaconManager.startRangingBeaconsInRegion(new Region("myRangingUniqueId",null , null, null));
    } catch (RemoteException e) {    }
}

`

1 Ответ

1 голос
/ 25 апреля 2019

Хорошо, давайте создадим псевдокод для вашей проблемы.

    ArrayList<Beacon> searchedBeaconsList = new ArrayList(); // Declare it global
    if(searchedBeaconsList != null && searchedBeaconsList.isEmpty){
    searchedBeaconsList.add(searchedBeacon) 
    }else if(!searchedBeaconsList.contains(searchedBeacon)){
    searchedBeaconsList.add(searchedBeacon)
   }

, таким образом, вы всегда будете получать по одному маяку за раз, а другие рассылки спама будут отклонены, а также очистят список при выходе с экрана или из приложения.уничтожен.

Я надеюсь, что это решит вашу проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...