2

当我使用 android c2dm 向我的设备推送通知时,我遇到了一个奇怪的问题。

如果我使用“管理应用程序->我的应用程序->强制停止”关闭应用程序并尝试向我的设备发送推送,则它不起作用。

它适用于我所有其他 Android 版本低于 4.0 的设备。

有任何想法吗?

谢谢

编辑:好的,我进行了更多调查,似乎以这种方式杀死应用程序时无法运行后台代码。

系统日志向我显示:

05-09 11:43:15.450: W/GTalkService(25542): [DataMsgMgr] broadcast intent callback: result=CANCELLED forIntent { act=com.google.android.c2dm.intent.RECEIVE cat=[net.scimob.xxxxxx] (has extras) }

我不知道为什么它适用于以前版本的 android 而不是 4.0 及更高版本。也许谷歌在他们的代码中改变了一些东西。

ps:当我使用任务杀手时,它不会使用相同的方式来杀死应用程序并且c2dm推送仍然有效。

我希望这会在未来有所帮助!

4

1 回答 1

4

如果我使用“管理应用程序->我的应用程序->强制停止”关闭应用程序并尝试向我的设备发送推送,则它不起作用。

正确的。不要那样做。

它适用于我所有其他 Android 版本低于 4.0 的设备。

从 Android 3.1 开始就可以看到这种效果。首次安装或强制停止的应用程序在用户手动启动某些活动之前不会再次运行。

于 2012-05-09T11:02:00.793 回答