Контакт маяка не обнаруживает - PullRequest
0 голосов
/ 07 декабря 2018

Это первый раз, когда я работаю с маяком и Android, может кто-нибудь, пожалуйста, помогите, что я пропустил здесьЯ использую маяк Eddystone устройства.После startMonitoringBeaconsInRegion отображается 0 обнаруженных устройств

Зависимости:

-implementation 'org.altbeacon: android-beacon-library: 2 +'

Исходный код:

package com.XXX.yyyy.summa;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Parcelable;
import android.os.RemoteException;
import android.util.Log;

import org.altbeacon.beacon.Beacon;
import org.altbeacon.beacon.BeaconConsumer;
import org.altbeacon.beacon.BeaconManager;
import org.altbeacon.beacon.BeaconParser;
import org.altbeacon.beacon.Identifier;
import org.altbeacon.beacon.MonitorNotifier;
import org.altbeacon.beacon.Region;

import java.util.Collection;
import java.util.Iterator;

import static com.kone.schinnas.summa.MonitoringActivity.TAG;

public class MyActivity extends Activity implements BeaconConsumer, MonitorNotifier {

    private BeaconManager mBeaconManager;

    public void onResume() {
        super.onResume();
        mBeaconManager = BeaconManager.getInstanceForApplication(this.getApplicationContext());
        // Detect the main Eddystone-UID frame:
        mBeaconManager.getBeaconParsers().add(new BeaconParser().setBeaconLayout(BeaconParser.EDDYSTONE_UID_LAYOUT));
        mBeaconManager.bind(this);
    }

    @Override
    public void onBeaconServiceConnect() {
        Region region = new Region("all-beacons-region", null, null, null);
        mBeaconManager.addMonitorNotifier(this);
        try {
            mBeaconManager.startMonitoringBeaconsInRegion(region);
            int i = 0;
        } catch (RemoteException e) {
            e.printStackTrace();
        }
    }


    public void didEnterRegion(Region region) {
        Log.d(TAG, "I detected a beacon in the region with namespace id " + region.getId1() +
                " and instance id: " + region.getId2());
    }

    public void didExitRegion(Region region) {
    }

    public void didDetermineStateForRegion(int state, Region region) {
    }


    @Override
    public void onPause() {
        super.onPause();
        mBeaconManager.unbind(this);
    }
}

1 Ответ

0 голосов
/ 20 декабря 2018

Предоставили ли вы местоположение и разрешения Bluetooth для вашего приложения?

Получение разрешения на местоположение

...