【发布时间】:2012-03-22 04:12:11
【问题描述】:
我的 Activity 在 singleTop 模式和 C2DM 接收器下运行。在某些通知上,我需要运行该活动并以这种方式进行:
Intent activity = new Intent(context, klass);
activity.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
context.startActivity(activity);
当背景活动时(例如之前按下主页按钮),一切正常。
但是当我刚刚按下电源按钮关闭屏幕时,无法通知正在运行的活动有关某些更改(onNewIntent 从未调用过)。
如何通知正在运行的活动?
【问题讨论】:
-
我建议不要只在 onCreate 中更新你的 UI,但也要使用 onResume。尽管如此,我觉得这个问题太模糊了,我不确定我们是否得到了我们需要回答的所有问题。给出一些活动代码,主要方法。
-
手机被锁定,activity好像在前台没有重启,
onResume,onCreate和onNewIntent没有被调用 -
您可能会考虑使用一项服务,可能需要使用一些网络锁定来确保您仍能收到 c2dm 通知。
-
通知工作正常,我已成功收到。我的问题是通知正在运行的活动有关一些更改。我尝试处理来自
startActivity调用的onNewIntent,但它不起作用 -
有完全相同的问题。当单任务活动位于堆栈顶部时,并且在手机处于休眠状态时发送了一个新意图,直到屏幕唤醒才会调用 onNewIntent()。我的问题发布在这里stackoverflow.com/questions/9899751/…
标签: java android android-intent notifications