обнаружить iBeacon с помощью библиотеки altbeacon

Я разрабатываю проект, используя библиотеку iBeacons

Это код, который распознает мой маяк?

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

у меня есть UUID Major и Minor, как их использовать?


person Bilal Halayqa    schedule 28.10.2014    source источник
comment
Попробуйте Estimote SDK   -  person SweetWisher ツ    schedule 28.10.2014


Ответы (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>
person mohsin raza    schedule 28.10.2014

передать мажор и минор вместо нуля

  Region region = new Region("myRangingUniqueId", uUID, major, minor);
person ask4solutions    schedule 28.10.2014