Firebase Messaging - 三星Android设备上的“太多警报”

时间:2016-10-24 06:43:25

标签: java android firebase samsung-mobile firebase-cloud-messaging

我们在Android应用中使用Firebase Messaging,自上周以来,我们报告了三星设备发生的多次崩溃。 问题与我们的任何课程无关。我们没有使用AlarmManager等。

以下是stacktraces:

1)Parcel.java

Fatal Exception: java.lang.SecurityException: !@Too many alarms (500) registered from pid 13776 uid 10011
   at android.os.Parcel.readException(Parcel.java:1540)
   at android.os.Parcel.readException(Parcel.java:1493)
   at android.app.IAlarmManager$Stub$Proxy.set(IAlarmManager.java:206)
   at android.app.AlarmManager.setImpl(AlarmManager.java:428)
   at android.app.AlarmManager.set(AlarmManager.java:215)
   at com.google.firebase.iid.FirebaseInstanceIdService.zzah(Unknown Source)
   at com.google.firebase.iid.FirebaseInstanceIdService.zzag(Unknown Source)
   at com.google.firebase.iid.FirebaseInstanceIdService.zzag(Unknown Source)
   at com.google.firebase.iid.FirebaseInstanceIdService.zzm(Unknown Source)
   at com.google.firebase.iid.zzb$2.run(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
   at java.lang.Thread.run(Thread.java:818)

2)在Binder.java中

Fatal Exception: java.lang.RuntimeException: Error receiving broadcast Intent { act=android.net.conn.CONNECTIVITY_CHANGE flg=0x4000010 (has extras) } in com.google.firebase.iid.FirebaseInstanceIdService$1@12533ba
   at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:891)
   at android.os.Handler.handleCallback(Handler.java:746)
   at android.os.Handler.dispatchMessage(Handler.java:95)
   at android.os.Looper.loop(Looper.java:148)
   at android.app.ActivityThread.main(ActivityThread.java:5443)
   at java.lang.reflect.Method.invoke(Method.java)
   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:728)
   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
Caused by java.lang.RuntimeException: Failure from system
   at android.app.ContextImpl.sendBroadcast(ContextImpl.java:772)
   at android.content.ContextWrapper.sendBroadcast(ContextWrapper.java:396)
   at com.google.firebase.iid.FirebaseInstanceIdService$1.onReceive(Unknown Source)
   at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:881)
   at android.os.Handler.handleCallback(Handler.java:746)
   at android.os.Handler.dispatchMessage(Handler.java:95)
   at android.os.Looper.loop(Looper.java:148)
   at android.app.ActivityThread.main(ActivityThread.java:5443)
   at java.lang.reflect.Method.invoke(Method.java)
   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:728)
   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
Caused by android.os.DeadObjectException
   at android.os.BinderProxy.transactNative(Binder.java)
   at android.os.BinderProxy.transact(Binder.java:503)
   at android.app.ActivityManagerProxy.broadcastIntent(ActivityManagerNative.java:3075)
   at android.app.ContextImpl.sendBroadcast(ContextImpl.java:767)
   at android.content.ContextWrapper.sendBroadcast(ContextWrapper.java:396)
   at com.google.firebase.iid.FirebaseInstanceIdService$1.onReceive(Unknown Source)
   at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:881)
   at android.os.Handler.handleCallback(Handler.java:746)
   at android.os.Handler.dispatchMessage(Handler.java:95)
   at android.os.Looper.loop(Looper.java:148)
   at android.app.ActivityThread.main(ActivityThread.java:5443)
   at java.lang.reflect.Method.invoke(Method.java)
   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:728)
   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)

你有类似的问题吗?你知道什么是潜在的问题吗? 我正在使用firebase@9.6.1

1 个答案:

答案 0 :(得分:3)

好消息!使用last update 10.0 firebase团队解决了三星设备中太多警报的问题,这是补丁说明:

  

已修复 - 导致额外警报设置错误的问题,导致某些Samsung设备上的堆栈跟踪中的警报太多崩溃。

良好的编程!