Ibeacon 应用程序从后台返回时beaconManager给我错误
我在应用程序中使用altbeacon库。启动后一切正常,但若我从应用程序中退出,她在后台,我会在状态栏上收到关于信标的通知。单击此通知时,我收到以下错误:Ibeacon 应用程序从后台返回时beaconManager给我错误,ibeacon,Ibeacon,我在应用程序中使用altbeacon库。启动后一切正常,但若我从应用程序中退出,她在后台,我会在状态栏上收到关于信标的通知。单击此通知时,我收到以下错误: Process: pl.hekko.kesser.beacontest, PID: 29929 java.lang.RuntimeException: Unable to start activity ComponentInfo{pl.hekko.kesser.beacontest/pl.hekko.kesser.beaco
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)
我的主要活动行83:
beaconManager.getBeaconParsers().add(new BeaconParser().
setBeaconLayout("m:2-3=0215,i:4-19,i:20-21,i:22-23,p:24-24"));
我不确定这一挫折是否能解决,但总体来说似乎效果不错。
有时应用程序不启动会显示错误,但第二次单击图标会启动应用程序。这似乎是同一个错误造成的。问题是,当库第一次启动时,您只能配置一次活动的
BeaconParser
s列表,因此当您再次尝试配置时,会出现错误。虽然在自定义应用程序的onCreate
方法中只执行一次比较容易,但如果将其包装在类似以下的if语句中,则可以在活动的onCreate
方法中执行此操作:
// Only execute the code below if only the default BeaconParser is active
if (beaconManager.getBeaconParsers().size() == 1) {
// Put your BeaconParser setup code here
...
}