2014-04-15 38 views
5

我想在android中看到信号与estimote sdk,但没有运气!我可以看到所有的estimote信标,但与所有其他信标无法正常工作( fobo信标等)我在区域构造函数内使用uuid作为fobo信标,我可以在logcat中看到蓝牙可以看​​到这些设备,但估计sdk没有收集它作为信标!任何想法为什么会发生这种情况?我米张贴下面的代码:Android Estimote 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(); 
     } 
     } 
    }); 
    } 
+0

我不一定会期望工作。但是,为什么你将ESTIMOTE_PROXIMITY_UUID传递给区域构造函数?如果您打算使用非估计的UUID查找信标,我希望您需要为您想要查看的UUID构建一个区域。 –

+0

对不起,这是在编写我纠正的代码错误,但问题不是在我的代码中我使用fobo uuid并且不工作!此代码正在为estimote信标工作,如果我使用estimote uuid或if我没有使用uuid(然后它为所有uuids扫描)! – sfig

+0

你肯定是FOBO UUID吗?您可以使用其他应用程序成功检测到iBeacon吗? – davidgyoung

回答

2

这是WOJTEK Borowicz,我在Estimote社区布道者。实际上,Estimote SDK不支持来自其他供应商的信标 - 这就是为什么你无法检测到它们。

干杯。

+0

谢谢Wojtek,这是我的虽然因为logcat消息说:“设备xx:xx:xx:xx:xx(MAC地址)不是估计信标”我想我会使用无线电网络库因为我知道有没有只有Estimote和无线电网络图书馆我错了吗?任何人都可以建议其他图书馆? – sfig

+0

这是超级讨厌的,我喜欢Estimote SDK,但不能与其他iBeacons合作是一个巨大的交易断路器。 @WojtekBorowicz有没有计划改变这一点? – Ben

+0

@Ben目前没有。我们正在向我们的SDK推出专为Estimote(例如加速计和温度传感器)专用的功能,并希望提供尽可能最佳的体验,所以现在我们专注于我们自己的软件和硬件。 –

0

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

https://github.com/AlvinBert

的Android的源iBeacon显示SDK的代码。 Android上没有任何限制。 它可以检测到所有的iBeacons。

+0

有趣的是,它的代码库与estimote android sdk相同。我不得不手动将条件注释掉,以检查感测的信标是否是估计的信标。然后它开始工作。 –

+0

我们可以限制搜索特定的UUID吗? – Prasad