Android 有意传递上下文

Android 有意传递上下文,android,android-intent,broadcastreceiver,android-service,Android,Android Intent,Broadcastreceiver,Android Service,我有一个广播接收器,它将启动一个意图服务,在一个单独的线程上做一些工作 我已尝试深入了解意图文档,以找到一种获取用于创建意图的上下文的方法: Intent(Context packageContext, Class<?> cls) 是否有一种方法可以获取用于创建意图的上下文,而无需通过第二次广播的路径返回接收器以访问UI或处理程序 我已经尝试深入到意图文档中,以找到一种获取用于创建意图的上下文的方法 由于上下文可能不在您的过程中,因此这是不可能的。此外,这是没有必要的 有没有一种方

我有一个广播接收器,它将启动一个意图服务,在一个单独的线程上做一些工作

我已尝试深入了解意图文档,以找到一种获取用于创建意图的上下文的方法:

Intent(Context packageContext, Class<?> cls)
是否有一种方法可以获取用于创建意图的上下文,而无需通过第二次广播的路径返回接收器以访问UI或处理程序

我已经尝试深入到意图文档中,以找到一种获取用于创建意图的上下文的方法

由于
上下文
可能不在您的过程中,因此这是不可能的。此外,这是没有必要的

有没有一种方法可以获取用于创建意图的上下文,而无需通过第二次广播的路径返回接收器以访问UI

BroadcastReceiver
无法更新用户界面。因此,即使你想要的是可能的(事实并非如此),也不会对你有任何好处

此外,由于您正在启动一个
IntentService
,因此您可能没有UI。用户可以控制自己的手机,因此完全欢迎他们离开您的应用程序,进入主屏幕或其他应用程序


处理此问题的一种模式是从
IntentService
发送有序广播。让活动为该广播实施高优先级
BroadcastReceiver
,并在清单中注册正常优先级的接收器。后者将引发
通知
,因此如果您的活动不在前台,用户将看到
通知
。更详细一点,并演示此技术。

为什么不创建一个公共静态全局上下文变量,在创建意图时将其设置为
this
,然后在需要时访问该上下文(因为它将是创建意图的上下文)?你能发几行代码让我更好地理解你的意思吗?
public int onStartCommand(Intent intent, int flag, int startId)