【发布时间】:2011-11-19 23:43:07
【问题描述】:
我有一个广播接收器(c2dm 推送接收器)。 当我收到推送时,我希望发生这种情况:
- 启动通知,您将在该通知中转到 StopAlarmActivity(完成!)
- 如果应用程序在前面,启动 StopAlarmActivity(我如何检查这个)
我的主要问题是我无法让广播接收器为我启动 StopAlarmActivity。
我已经在清单中注册了广播接收器。
这是我用来尝试启动活动的代码:
Intent intentHome = new Intent(context, StopAlarmActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intentHome);
这是堆栈跟踪消息:
11-20 00:29:30.514: E/AndroidRuntime(13612): java.lang.RuntimeException:无法启动接收器 com.packagename.PushReceiver:android.util.AndroidRuntimeException: 从 Activity 上下文之外调用 startActivity() 需要 FLAG_ACTIVITY_NEW_TASK 标志。这真的是你想要的吗?
我看到有人说这只是将 FLAG_ACTIVITY_NEW_TASK 添加到意图中,异常也告诉我,所以我真的不明白为什么它不起作用。
有人有想法吗? 提前致谢!
【问题讨论】:
标签: android android-intent android-activity broadcastreceiver