没有得到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"));