0

我正在使用 Android 信标库并实现了RegionbootStrap以下方式:

在应用程序类

public void onCreate() {
    super.onCreate();

    Region region = new Region(getPackageName(), null, null, null);
    mRegionBootstrap = new RegionBootstrap(this, region);
    new BackgroundPowerSaver(this);
}

@Override
public void didEnterRegion(Region arg0) {
    mRegionBootstrap.disable();

    Intent intent = new Intent(this, MainActivity.class);
    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    startActivity(intent);
}

在清单中

<activity
android:name=".activity.MainActivity"
android:configChanges="keyboardHidden|orientation|keyboard"
android:launchMode="singleInstance"
android:screenOrientation="portrait" >
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />

        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
    <intent-filter>
        <action android:name="android.intent.action.VIEW" />

        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />
    </intent-filter>
</activity>

当我启动应用程序时,它使用RangeNotifier. 我也使用自己的时间段进行扫描,并使用延迟时间进行扫描。但我不知道如何获取测试RegionbootStrap。我试图启动应用程序,然后强制关闭它,重新启动设备并靠近 iBeacon。还尝试在 iBeacon 附近插入/拔出 USB 电缆,也没有回调。

谢谢。

4

1 回答 1

0

问题是没有找到 iBeacon,因为我只BeaconParser在我的Activity.

解决方案是在Application课堂上调用以下内容来注册 iBeacon RegionBootstrap

sBeaconManager = BeaconManager.getInstanceForApplication(this);

// Add support for iBeacon
sBeaconManager
        .getBeaconParsers()
        .add(new BeaconParser()
        .setBeaconLayout("m:2-3=0215,i:4-19,i:20-21,i:22-23,p:24-24"));
于 2014-08-28T09:22:13.080 回答