5

我正在尝试在 android 中查看带有 estimote sdk 的信标,但没有运气!我可以看到所有的 estimote 信标,但所有其他信标都不起作用(fobo 信标等)我正在使用 uuid 作为区域内的 fobo 信标构造函数,我可以在 logcat 中看到蓝牙可以看​​到设备,但 estimode sdk 没有将其收集为信标!任何想法为什么会发生这种情况?我在下面发布代码:

 private static final String FOBO_PROXIMITY_UUID = "00158800-587d-2206-d52b-fb6d6e2f0001";
 private static final Region FOBOBEACONS = new Region("rid", FOBO_PROXIMITY_UUID , null, null);
 public void BeaconManager(){
    beaconManager = new com.estimote.sdk.BeaconManager(this);
    beaconManager.setBackgroundScanPeriod(5000, 30000);
    beaconManager.setForegroundScanPeriod(7000, 5000);



    beaconManager.setRangingListener(new com.estimote.sdk.BeaconManager.RangingListener() {

        @Override
        public void onBeaconsDiscovered(final Region arg0, final List<Beacon> arg1) {
            // TODO Auto-generated method stub
            runOnUiThread(new Runnable() {
                  @Override
                  public void run() {
                    // Note that beacons reported here are already sorted by estimated
                    // distance between device and beacon.
                      int test=0;
                      if(arg1.size()<=0){
                          Toast.makeText(MainActivity.this, "No beacon found",
                                  Toast.LENGTH_SHORT).show();
                      }else{

                          for (int i = 0; i < arg1.size(); i++) {
                              String beac=arg1.get(i).getProximityUUID();
                              Toast.makeText(MainActivity.this, "I found a beacon with UUID; "+beac,
                                      Toast.LENGTH_SHORT).show();  
                        }


                      }



                   // adapter.replaceWith(beacons);
                  }
                }); 
        }

    });
    connectToService();

}

  private void connectToService() {
    beaconManager.connect(new com.estimote.sdk.BeaconManager.ServiceReadyCallback() {
      @Override
      public void onServiceReady() {
        try {
          com.estimote.sdk.utils.L.enableDebugLogging(true);
          beaconManager.startRanging(FOBOBEACONS);

        } catch (RemoteException e) {
          Toast.makeText(MainActivity.this, "Cannot start ranging, something terrible happened",
              Toast.LENGTH_LONG).show();
        }
      }
    });
  }
4

2 回答 2

2

我是 Wojtek Borowicz,我是 Estimote 的社区布道者。实际上,Estimote SDK 不支持其他供应商的信标——这就是你无法检测到它们的原因。

干杯。

于 2014-04-16T09:46:28.173 回答
0

也许检查这个链接..我自己还没有尝试过,但计划在某个时候。

https://github.com/AlvinBert

iBeacon SDK 的 Android 源代码。对安卓没有任何限制。它可以检测到所有 iBeacons。

于 2014-05-17T11:08:26.133 回答