【问题标题】:Can a BroadcastReceiver pass control to a Activity?BroadcastReceiver 可以将控制权传递给 Activity 吗?
【发布时间】:2011-02-19 14:49:10
【问题描述】:

BroadcastReceiver 能否将控制权传递给 Activity?

也许我以错误的方式考虑这个问题,但我有一个 BroadcasterReceiver 等待 SMS 消息进来。一旦它进来,我希望它将控制权传递给 Activity,以便 Activity 可以设置警报和哔哔声.但以下代码不会在 BroadcastReceiver 中构建

Intent intent = new Intent(PhoneFinder.class, AlarmService.class);
    startActivity(intent);

【问题讨论】:

  • 我在您同时提出的许多其他问题之一中找到了您的其余源代码,我会在那里回答。请不要针对同一问题交叉发布这么多问题。

标签: android android-activity broadcastreceiver


【解决方案1】:

像您编写的那样的显式 Intent 需要一个 Context 和您想要启动的类作为参数,而不是两个类名。您可能正在尝试执行此操作的 onReceive() 方法会向您传递可用于执行此操作的上下文参数。

public void onReceive(Context context, Intent intent) {
    //Launch Activity
    Intent startIntent = new Intent(context, PhoneFinder.class);
    startActivity(startIntent);
}

这将在接收者接收到广播时启动 PhoneFinder。

希望有帮助!

【讨论】:

  • 它仍然无法构建我在 startActivity 上得到一个underdef
  • 我也尝试将其更改为: Intent startIntent = new Intent(context, AlarmService.class); context.startActivity(startIntent);但警报永远不会被调用
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多