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


82

我基本上想提出一个意图,并将其从我的BroadcastReceiver的onReceive()传递给服务。

到目前为止,我一直使用View.getContext(),但是在这里,我陷入了困境。我究竟如何获得上下文以便可以使用public Intent (Context packageContext, Class<?> cls)

Answers:


302
public abstract void onReceive(Context context, Intent intent)

onReceive给您上下文。您还想要什么?


8
哦,严重的是,直到看到此,我才看到它。
Blasanka

2

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

因此,您的问题陈述说您想要在意图创建中使用此上下文启动服务,然后使用此上下文对象调用startService。那是不可能的。

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

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


你说的不是真的 您可以从BroadcastReceivers启动服务,但不能绑定到它们。
巴迪亚·莫梅尼(Bardya Momeni)

0

在BroadcastReceiver中

onReceive(Context context, Intent intent)

方法提供上下文

所以

开始活动使用

context.startActivity(intent);

并开始使用服务

context.startService(intent);
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.