获取服务中的上下文
有没有可靠的方法从Service
获取Context
?
我想为ACTION_PHONE_STATE_CHANGED
注册一个广播接收器,但我不需要我的应用程序总是获取这些信息,所以我不把它放在Manifest
。
但是,当我需要这些信息时,我不能让广播接收机被GC杀死,所以我正在向一个Service
注册广播接收机。
因此,我需要一个Context
来调用registerReceiver()
。 当我不再需要ACTION_PHONE_STATE_CHANGED
我注销它。
任何提示?
服务是一个上下文
服务扩展了扩展上下文的ContextWrapper。 因此,服务是一个上下文。 在服务中使用“this”关键字。
- 服务扩展了ContextWrapper
- ContextWrapper扩展了Context
所以….
Context context = this;
(服务或活动类别)
由于Service
是一个Context
,variables上下文必须是this
:
DataBaseManager dbm = Utils.getDataManager(this);
YourServiceClass.this
GPSTracker gpsTracker = new GPSTracker(TimeService.this);