我最近从我的应用程序的用户那里得到了一些奇怪的 StackTraces:
Android Version: 2.3.5
Phone Model: GT-I9001
Stacktrace:
java.lang.IllegalStateException: sender id not set on constructor
at com.google.android.gcm.GCMBaseIntentService.getSenderIds(GCMBaseIntentService.java:125)
at com.google.android.gcm.GCMBaseIntentService.onHandleIntent(GCMBaseIntentService.java:237)
at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:59)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:130)
at android.os.HandlerThread.run(HandlerThread.java:60)
我正在使用 GCM lib 的第 3 版,并且关于文档,构造函数不再需要传递 senderID(在 C2DM 时代就是这样) - 这也不会在我的设备和设备上崩溃很多其他用户。有人可以了解这些设备上正在发生的事情,并且最好有一些解决方法吗?这些用户的非工作 GCM 对我来说是一个选项,因为设备推送是可选的 - 但我不希望它崩溃..
此处编辑使用的来源: https ://github.com/ligi/gobandroid/blob/master/src/org/ligi/gobandroid_hd/GCMIntentService.java