测距时的Android信标监控

时间:2014-06-03 06:47:58

标签: android ibeacon ibeacon-android estimote android-ibeacon

继续上一个问题here,我不再遵循为所有信标创建单个Region的方法。现在我在运行时创建区域。我先做了一下。 下面是我试图实现的代码。

public void onBeaconsDiscovered(Region region, final List<Beacon> beacons) { 
     for(int i =0;i<beacons.size();i++)
     { 
        Region r = new Region("RegionID", beacons.get(i).getProximityUUID(), beacons.get(i).getMajor(), beacons.get(i).getMinor()); 
        try { 
              beaconManager.startMonitoring(r); 
            } catch (RemoteException e) {
                e.printStackTrace(); 
            }
    } 
  } 

  public void onEnteredRegion(Region arg0, List<Beacon> arg1) {
         //Log Data in DB 
  }

  public void onExitedRegion(Region region) { 
     //Log Data in DB 
  }

上述方法是否正确?问题是,有时,相同的信标在 onEnteredRegion()中输入两次,而不退出。我曾尝试使用扫描间隔进行前景和后台扫描,但事情不同步。我正在使用 Estimote beacon sdk for android。

1 个答案:

答案 0 :(得分:1)

问题可能很简单。您的代码示例正在为所有区域重复使用相同的区域标识"RegionID"。请使用不同的。