我有一个 Application 类的扩展,我需要在我创建的 BroadcastReceiver 中获取引用。传递给“onReceive”的上下文是一个受限上下文。有没有办法获得对实际应用程序上下文的引用?
user130532
问问题
14435 次
3 回答
29
调用getApplicationContext()
提供Context
给您的 in onReceive()
,就像getApplicationContext()
调用Activity
.
我有一个应用程序的扩展,它允许我非静态地获取对我需要的几个对象的引用。
虽然语法Application
上不是静态的,但它具有相同的影响,尤其是在内存泄漏方面。
于 2012-07-03T22:22:24.280 回答
0
BroadcastReceiver 已经给出了上下文。看看onReceive。
public void onReceive(Context context, Intent intent)
于 2014-04-01T12:37:27.780 回答
0
class SMSReceiver: BroadcastReceiver() {
@RequiresApi(Build.VERSION_CODES.O)
override fun onReceive(context: Context?, intent: Intent?) {
val smsIntent = intent ?: return
val appContext = context?.applicationContext ?: return
// Do something here.
}
}
于 2021-07-14T14:18:11.157 回答