Android 4.0 c2dm 问题

Posted

技术标签:

【中文标题】Android 4.0 c2dm 问题【英文标题】:Android 4.0 c2dm issue 【发布时间】:2012-05-09 09:40:48 【问题描述】:

当我使用 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 推送仍然有效。

希望这对未来有所帮助!

【问题讨论】:

【参考方案1】:

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

正确。不要那样做。

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

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

【讨论】:

感谢您的回答。它让我节省了几个小时的时间来搜索为什么当用户手动终止应用程序时它不再工作了。 是否有任何官方文档涵盖“强制停止”操作如何影响与 c2dm 相关的内容? @PaulE.:“c2dm 相关的东西”与非“c2dm 相关的东西”没有什么不同。 developer.android.com/about/versions/…

以上是关于Android 4.0 c2dm 问题的主要内容,如果未能解决你的问题,请参考以下文章

Cordova 4.0 上的 Android 片段内的 Cordova webview

c2dm android推送通知每天广播量

Android - C2DM.jar 文件丢失

Android中关于C2DM的一些查询

任何在 Android 上做 C2DM 的人

Android (c2dm) 推送通知错误