86

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

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

4

3 回答 3

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

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

于 2010-11-07T06:37:30.030 回答
2

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

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

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

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

于 2016-03-23T09:15:12.197 回答
1

在广播接收器中

onReceive(Context context, Intent intent)

方法提供上下文

所以

开始活动使用

context.startActivity(intent);

并开始使用服务

context.startService(intent);
于 2018-06-06T09:01:50.613 回答