2014-08-28 34 views
0

我使用的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電纜,也不給回調。

謝謝。

回答

0

問題是沒有找到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"));