Firebase消息传递 - “太多的警报”在三星的Android设备上 [英] Firebase Messaging - "too many alarms" on Samsung's Android devices

查看:728
本文介绍了Firebase消息传递 - “太多的警报”在三星的Android设备上的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们在Android应用程序中使用Firebase消息传递,自从上周我们报告了三星设备的许多崩溃事件。 问题与我们的任何课程无关。我们不使用AlarmManager等。

以下是堆栈跟踪:



1)Parcel.java

 致命异常:java.lang.SecurityException:!@Too许多从pid 13776注册的警报(500)uid 10011 
.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(未知来源)
,位于com.google.firebase.iid.FirebaseInstanceIdService.zzag(未知来源)
,位于com.google.firebase.iid.FirebaseInstanceIdService.zzag未知源)
在com.google.firebase.iid.FirebaseInstanceIdService.zzm(未知源)
在com.google.firebase.iid.zzb $ 2.run(未知源)
在java .util.concurrent.ThreadP在线程安全工具(ThreadPoolExecutor.java:587)$ b $ java.util.run(Thread.java: 818)



2)在Binder.java中



<在com.google.firebase.iid中接收广播Intent {act = android.net.conn.CONNECTIVITY_CHANGE flg = 0x4000010(has extras)}时出现致命异常:java.lang.RuntimeException:错误:pre> .FirebaseInstanceIdService $ 1 @ 12533ba
at android.app.LoadedApk $ ReceiverDispatcher $ Args.run(LoadedApk.java:891)
at android.os.Handler.handleCallback(Handler.java:746)
android.os.Handler.dispatchMessage(Handler.java:95)
在android.os.Looper.loop(Looper.java:148)
在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)
在com.android.internal.os.ZygoteI在android.app.ContextImpl.sendBroadcast(ContextImpl.java:772)
在android的系统失败
由于java.lang.RuntimeException: .content.ContextWrapper.sendBroadcast(ContextWrapper.java:396)
at com.google.firebase.iid.FirebaseInstanceIdService $ 1.onReceive(未知源代码)
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)
由android.os.DeadObjectException引发
在android.os.BinderProxy.transactNative(Binder.java)
at a ndroid.os.BinderProxy.transact(Binder.java:503)
at android.app.ActivityManagerProxy.broadcastIntent(ActivityManagerNative.java:3075)
at android.app.ContextImpl.sendBroadcast(ContextImpl.java: 767)
在android.content.ContextWrapper.sendBroadcast(ContextWrapper.java:396)
在com.google.firebase.iid.FirebaseInstanceIdService $ 1.onReceive(未知源)
在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。在com.android.internal.os.ZygoteInit $方法.invoke(Method.java)
$ MethodAndArgsCaller.run(ZygoteInit.java:728)
在com.android.internal.os.ZygoteInit。 main(ZygoteInit.java:618)

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

解决方案

好消息!通过最新更新10.0 ,firebase团队解决了在三星设备中报警太多,这是补丁说明:


固定问题,导致额外的警报设置不正确,导致一些三星设备堆栈跟踪中的太多警报崩溃。


好编程!


We are using Firebase Messaging in Android app and since last week we reported many crashes from Samsung devices. The problem is not related with any of our classes. We are not using AlarmManager etc.

Here are the 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) In 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)

Do you have similar problems? Do you know what could be a potential problem? I'm using firebase@9.6.1

解决方案

Good news! With the last update 10.0 the firebase team solved the problems with Too many alarms in Samsung devices, this is the patch note:

Fixed - An issue that caused extra alarms to be incorrectly set, resulting in crashes with Too Many Alarms in the stack trace on some Samsung devices.

Good programming!

这篇关于Firebase消息传递 - “太多的警报”在三星的Android设备上的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆