我从大学得到一个项目,以进行弹出通知
所以,我把手机当作信标。并通过从其信标中检测到主要和次要来进行验证以获取通知。
因此,我将在检测到某些信标后发布主要和次要信息,但是我从此代码中收到了垃圾邮件,因此在日志中,我连续获得相同的主要和次要信息,如果信标一个,我又该如何发布主要和次要信息,然后发布两次具有不同的主要和次要,如果信标两个等
`@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) { }
}
`
答案 0 :(得分:1)
好的,让我们为您的问题提供一些伪代码。
ArrayList<Beacon> searchedBeaconsList = new ArrayList(); // Declare it global
if(searchedBeaconsList != null && searchedBeaconsList.isEmpty){
searchedBeaconsList.add(searchedBeacon)
}else if(!searchedBeaconsList.contains(searchedBeacon)){
searchedBeaconsList.add(searchedBeacon)
}
通过这种方式,您总是一次只能获得一个信标,其他垃圾邮件将被拒绝,并且在离开屏幕或应用程序被销毁的同时清除列表。
我希望这能解决您的问题。