Gau*_*wal 4 android android-c2dm google-cloud-messaging
我在我的应用程序中实现了GCM,并且我正在使用GSMRegistrar,如此处所示.不,我在logcat中收到错误
7-02 23:35:15.830: E/ActivityThread(10442): Activity com.abc.xyz.mnp has leaked IntentReceiver com.google.android.gcm.GCMBroadcastReceiver@44f8fb68 that was originally registered here. Are you missing a call to unregisterReceiver()?
Run Code Online (Sandbox Code Playgroud)
我能从中理解并查看代码GSMRegistrar是我需要打电话GSMRegistrar.onDestroy(this)但我无法理解我应该在哪里调用它?调用onDestroy()活动mnp会导致它停止重试GSM Registartion
它应该在您启动GCM注册的活动的onDestory()方法内部调用.
请记住,即使在其上启动了另一项活动,也不会销毁活动.因此,您的注册仍可在后台重试.如果注册活动被销毁,那么GCMBroadcastReceiver类将不会在那里处理响应.
更新:更仔细地查看GCM库源代码之后,这是我观察到的:
我认为#3是可以接受的,因为很少有GCM服务器拒绝注册'SERVICE_NOT_AVAILABLE'错误.只要您的用户运行您的应用几次,他们的设备迟早会成功注册.
| 归档时间: |
|
| 查看次数: |
6636 次 |
| 最近记录: |