没有得到RegionBootstrap触发
问题描述:
我使用的Android标库和已实施RegionbootStrap
方式如下:没有得到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>
当我启动应用程序,它成功地扫描了iBeacons中的fo使用RangeNotifier
重磨和背景。我也用我自己的时间进行扫描和延迟扫描。但我不知道如何获得测试RegionbootStrap
。我试图启动该应用程序,然后强制关闭它,重启设备并靠近iBeacon。还尝试在iBeacon附近插入/拔下USB电缆,也不给回调。
谢谢。
答
问题是没有找到iBeacon,因为我只在Activity
中添加了新的BeaconParser
。
的解决办法是调用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"));