使用4.0 android任务管理器关闭应用程序后的通知?

时间:2012-05-02 00:24:44

标签: android notifications android-c2dm android-4.0-ice-cream-sandwich

我在我的应用程序中使用C2DM,并且我有一个接收器,它将数据发送到应用程序中的类。该类创建通知并通知通知管理器发布它。

问题是,当通过设置手动关闭应用程序时,这不起作用,因为这也(显然)关闭了广播接收器。

我得到的是,当一个应用程序被关闭时,android 4.0的新任务管理器(类似于3.0,但用户也可以向左或向右滑动应用程序以关闭它)它的行为不同的是:广播接收器仍在工作,因为我从C2DM消息中得到了意图,但由于某种原因,我的手机仍然播放通知噪音,而托盘中没有任何通知。

我无法弄清楚发生了什么,因为没有通知显示就无法播放声音,因为声音会附加到通知中并在发布时播放,而不是其他方式。但是没有通知出现。

任何关于为什么会发生这种情况的见解都会很棒,或者当你将它们从列表中滑出时,新的4.0任务管理器实际对应用程序做了什么。

感谢。

1 个答案:

答案 0 :(得分:-1)

想出来,广播接收器仍在响应,但只是失败,因为它是从主应用程序的一部分类中检索并且现在已经死了,所以现在它需要的东西存储在sharedprefs中,并在之前检索通知已发送。

所以要回答这个问题,不要在4.0中从任务管理器中滑动应用程序并不“强行杀死”应用程序,就像设置中应用程序菜单中的强制终止按钮一样。它确实会杀死应用程序,以便下次打开它时,所有活动都会从头开始重新启动,就像您已经处于最后一个剩余活动并按下它一样,因此在最后一个活动任务上调用finish()并关闭该应用程序。广播启动(以及我假设的服务)之后仍在运行。