Search code examples
androideclipseibeaconaltbeacon

detect iBeacon using altbeacon library


I am developing project uses iBeacons library

Is this the code that recognize my Beacon ?

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

i have UUID Major and Minor, how to use them ?


Solution

  • Hope so this will help you

    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"));
    
        }
    }
    

    in AndroidManifest.xml permissions

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

    Register

           <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>