2010-11-07 71 views
67

我基本上想制作一个意图,并将它传递给我的BroadcastReceiver的onReceive()服务。Android - 从广播接收器onReceive()获取上下文发送到

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

回答

235

public abstract void onReceive (Context context, Intent intent)

的onReceive给你的背景。你还想要什么?

+59

哇......怎么会错过什么是正确的..非常感谢法尔玛里。 – madu 2010-11-07 11:06:11

+37

经典facepalm情况:D – egore911 2014-04-27 08:00:48

+12

可能在发布后的5年内,但仍然绝对相关!我犯了同样的错误!非常感谢 – 2015-03-06 23:23:52

1

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

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

阅读此内容在BroadcastReceiver上下文中可以和不能完成的内容。

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

+0

你说的不是真的,你可以从BroadcastReceivers开始一个服务,但不能绑定到他们。 – 2016-10-17 12:40:30