我有一个IntentService类
public class eventoTimer extends IntentService {}
public Utilities(Activity activity) {
this.activity = activity;
this.session = new UserSessionManager(this.activity);
}
我需要使用Activity实例化Utilities类,但我不知道如何从IntentService调用getActivity
答案 0 :(得分:2)
我需要使用Activity实例化Utilities类,但我不知道如何从IntentService调用getActivity
你不能。例如,不要求 一项活动,因为当IntentService
正在开展工作时,用户可能已经破坏了您的活动。
或者:
将Utilities
更改为Context
,而不是Activity
(这样您就可以将IntentService
传递给Utilities
构造函数) ,或
使用事件总线(例如,LocalBroadcastManager
,greenrobot的EventBus)向您的活动发送消息(如果存在),让它执行某些操作,或
摆脱IntentService
,如果它与活动紧密耦合,并为您的背景线程做其他事情(例如,AsyncTask
)