Android - 从广播接收器onReceive()获取上下文以发送到

时间:2010-11-07 04:29:33

标签: android service android-intent broadcastreceiver

我基本上想要制作一个意图并将其传递给我的BroadcastReceiver的onReceive()服务。

到目前为止,我总是使用View.getContext(),但在这里,我被卡住了。 我怎样才能获得上下文,以便我可以使用public Intent (Context packageContext, Class<?> cls)

3 个答案:

答案 0 :(得分:274)

public abstract void onReceive (Context context, Intent intent)

onReceive为您提供上下文。你还想要什么?

答案 1 :(得分:2)

上面提到的答案没有任何用处。只要您在onReceive中,就可以使用上下文。一旦您从onReceive返回代码,上下文就不再存在。

所以你的问题陈述说你想在你的意图创建中使用这个上下文启动服务,然后用这个上下文对象调用startService。这是不可能做到的。

阅读在BroadcastReceiver上下文中可以做什么和不可以做什么。

http://developer.android.com/reference/android/content/BroadcastReceiver.html

答案 2 :(得分:0)

在BroadcastReceiver中

onReceive(Context context, Intent intent)

方法提供了上下文

所以

开始使用活动

context.startActivity(intent);

并开始使用服务

context.startService(intent);