2015-09-13 59 views
0

我在我的應用程序中使用altbeacon庫。一切工作開始後,好吧,但如果我從應用程序出來,她在後臺我收到關於信標狀態欄的通知。當我在此通知點擊我得到這個錯誤:beaconManager給我錯誤,當應用程序從後臺返回

Process: pl.hekko.kesser.beacontest, PID: 29929 
     java.lang.RuntimeException: Unable to start activity ComponentInfo{pl.hekko.kesser.beacontest/pl.hekko.kesser.beacontest.MainActivity}: java.lang.UnsupportedOperationException 
       at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2202) 
       at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2252) 
       at android.app.ActivityThread.access$800(ActivityThread.java:139) 
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1200) 
       at android.os.Handler.dispatchMessage(Handler.java:102) 
       at android.os.Looper.loop(Looper.java:136) 
       at android.app.ActivityThread.main(ActivityThread.java:5103) 
       at java.lang.reflect.Method.invokeNative(Native Method) 
       at java.lang.reflect.Method.invoke(Method.java:515) 
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:790) 
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:606) 
       at dalvik.system.NativeStart.main(Native Method) 
     Caused by: java.lang.UnsupportedOperationException 
       at java.util.Collections$UnmodifiableCollection.add(Collections.java:928) 
       at pl.hekko.kesser.beacontest.MainActivity.onCreate(MainActivity.java:83) 
       at android.app.Activity.performCreate(Activity.java:5275) 
       at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) 
       at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2166) 
                at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2252) 
                at android.app.ActivityThread.access$800(ActivityThread.java:139) 
                at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1200) 
                at android.os.Handler.dispatchMessage(Handler.java:102) 
                at android.os.Looper.loop(Looper.java:136) 

我的MainActivity線83:

beaconManager.getBeaconParsers().add(new BeaconParser(). 
       setBeaconLayout("m:2-3=0215,i:4-19,i:20-21,i:22-23,p:24-24")); 

我不知道這setBeaconLayout但似乎罰款一般工作。 有時應用程序不啓動顯示錯誤,但第二次點擊圖標啓動應用程序。似乎同樣的錯誤導致了這一點。

回答

0

問題是,只有當庫第一次啓動時才允許您配置活動的BeaconParser的列表,因此當您嘗試第二次啓動時會出現錯誤。

// Only execute the code below if only the default BeaconParser is active 
if (beaconManager.getBeaconParsers().size() == 1) { 
    // Put your BeaconParser setup code here 
    ... 
} 
:雖然這是比較容易在定製 ApplicationonCreate方法來做到這一點只有一次,你可以在 ActivityonCreate方法,如果你在一個if語句像這樣把它包裝做到這一點
相關問題