2014-10-28 46 views
1

我正在開發項目使用iBeacons庫使用altbeacon庫檢測iBeacon

這是識別我的Beacon的代碼嗎?

beaconManager.startMonitoringBeaconsInRegion(new Region("D1B024CB-A02D-4650-9C6A-BAEDA8A31F0E", null, null, null)); 

我有UUID Major和Minor,如何使用它們?

+0

試用Estimote SDK – 2014-10-28 11:42:03

回答

2

希望如此,這將幫助你

public class RangingActivity extends Activity implements BeaconConsumer { 
    protected static final String TAG = "RangingActivity"; 

    private static final String UUID = "XXXXXXXXXXXXXXXXXXXX"; 
    private BeaconManager beaconManager = BeaconManager.getInstanceForApplication(this); 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_ranging); 
     beaconManager.bind(this); 
    } 
    @Override 
    protected void onDestroy() { 
     super.onDestroy(); 
     beaconManager.unbind(this); 
    } 
    @Override 
    public void onBeaconServiceConnect() { 
     beaconManager.setRangeNotifier(new RangeNotifier() { 
     @Override 
     public void didRangeBeaconsInRegion(Collection<Beacon> beacons, Region region) { 
      if (beacons.size() > 0) { 
       Log.i(TAG, "The first beacon I see is about "+beacons.iterator().next().getDistance()+" meters away.");  
      } 
     } 
     }); 

     try { 
      beaconManager.startRangingBeaconsInRegion(new Region("myRangingUniqueId", Identifier.parse(UUID), null, null)); 
     } catch (RemoteException e) { } 

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

    } 
} 

在AndroidManifest.xml 權限

<uses-permission android:name="android.permission.BLUETOOTH" /> 
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" /> 
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> 

註冊

 <service 
      android:name="org.altbeacon.beacon.service.BeaconService" 
      android:enabled="true" 
      android:exported="true" 
      android:isolatedProcess="false" 
      android:label="beacon" > 
     </service> 
     <service 
      android:name="org.altbeacon.beacon.BeaconIntentProcessor" 
      android:enabled="true" > 
     </service> 

     <receiver android:name="org.altbeacon.beacon.startup.StartupBroadcastReceiver" > 
      <intent-filter> 
       <action android:name="android.intent.action.BOOT_COMPLETED" /> 
       <action android:name="android.intent.action.ACTION_POWER_CONNECTED" /> 
       <action android:name="android.intent.action.ACTION_POWER_DISCONNECTED" /> 
      </intent-filter> 
     </receiver> 
0

通的主要和次要到位空的

Region region = new Region("myRangingUniqueId", uUID, major, minor); 
相關問題