66

安卓设备可以充当iBeacon并找出其他Android设备何时进入其范围?那些其他Android设备是否需要启用蓝牙?Android设备可以充当iBeacon吗?

如果客户进入我的商店,并且他的设备上没有安装我的应用程序,iBeacon可以工作,还是必须先安装应用程序?有很多客户每天都在访问我们的商店,但如果他们没有安装我的应用程序,iBeacon概念的工作原理是什么?

+0

你应该脱离“IBeacon”并将其分解成一个通用术语,做一些研究。 – JoxTraex

+0

@JoxTraex我读过本教程:http://www.devfright.com/ibeacons-tutorial-ios-7-clbeaconregion-clbeacon/但我有困惑,所以问问题在这里。如果你对此有任何想法,请帮助我。 –

+0

检查此链接将您的android 5.0手机变成iBeacon设备 http://developer.radiusnetworks.com/2014/11/18/beacon-transmission-with-android-5.html –

回答

66

更新:现在可以在Android 5.0上使用,您可以在2.1+版本的Android Beacon Library中找到open-source code for transmitting as a beacon。 Google Play商店中的Locate应用中还有一个全功能版本的信标发射器。您也可以在rooted Android 4.4.3 devices上作为信标进行传输,但它需要安装具有系统权限的应用程序。对于较旧的OS版本,请继续阅读。

带有BluetoothLE的Android 4.3设备可以看到iBeacons,但不能充当iBeacons,因为Android 4.3不支持外设模式。三星Android设备包含一个独立的专有SDK,但它也不允许设备充当iBeacons。请参阅:Make Samsung Android device advertise as an iBeacon)但是,iOS设备可以充当iBeacons。

通常,iBeacon技术不适用于手机查看其他手机。但是你可以通过制作一个定制的应用程序来做你在iOS上的建议,这个应用程序可以让手机充当iBeacon并在其周围寻找其他iBeacons。这将允许任何具有该应用的人使用附近的相同应用查看其他人。所有电话都需要打开蓝牙。 在Android上执行此操作目前只能通过三星设备进行。

要回答第二个问题,是的,一个移动设备(Android或iOS)必须安装一个应用程序才能利用iBeacons。除非安装了专门编程以执行某项操作的应用程序,否则任何操作系统当前都不会执行任何操作。因此,到达商店的客户必须已安装应用程序,否则他们无法与iBeacons进行交互。

+0

谢谢你的帮助:) –

+1

也是这个!请参阅“BLE外设模式” - > http://android-developers.blogspot.com/2014/06/developer-preview-and-play-services-5.html – Alexis

+1

'您也可以作为根源Android 4.4上的信标传输.3设备,但它需要安装系统权限的应用程序。 ' 我该怎么做? – Raiv

13

,Android设备可以充当iBeacon。我使用android 5.X和AltBeacon library来实现这一点。来自Radius Networks的AltBeacon库提供了构建android作为信标发射器和接收器的类。 下面是一些代码片段,将针对Android上班iBeacon显示:

Beacon beacon = new Beacon.Builder() 
     .setId1("2f234454-cf6d-4a0f-adf2-f4911ba9ffa6") // UUID for beacon 
     .setId2("1") // Major for beacon 
     .setId3("5") // Minor for beacon 
     .setManufacturer(0x004C) // Radius Networks.0x0118 Change this for other beacon layouts//0x004C for iPhone 
     .setTxPower(-56) // Power in dB 
     .setDataFields(Arrays.asList(new Long[] {0l})) // Remove this for beacon layouts without d: fields 
     .build(); 

BeaconParser beaconParser = new BeaconParser() 
     .setBeaconLayout("m:2-3=0215,i:4-19,i:20-21,i:22-23,p:24-24"); 

BeaconTransmitter beaconTransmitter = new BeaconTransmitter(getApplicationContext(), beaconParser); 
beaconTransmitter.startAdvertising(beacon, new AdvertiseCallback() { 

      @Override 
      public void onStartFailure(int errorCode) { 
       Log.e(TAG, "Advertisement start failed with code: "+errorCode); 
      } 

      @Override 
      public void onStartSuccess(AdvertiseSettings settingsInEffect) { 
       Log.i(TAG, "Advertisement start succeeded."); 
      } 
     }); 

希望它会为用户搜索Android作为iBeacon显示有帮助的。 jj

+0

感谢您的分享。 :) –

+0

这是否需要一个根植设备? – Amitabh

+0

不,不需要根设备:)) – Yogesh

相关问题