根据 Android API,IntentService
派生类为每个接收到的意图创建一个新的工作线程,并将其传递给onHandleIntent()
实现。
所以我假设(如果我错了,请纠正我)我的实现应该区分我想要接收的所有不同类型的意图,然后在我的服务中调用相应的方法来处理这个请求。这将在工作线程中完成,该工作线程已在onStartCommand()
方法中自动创建。
我的问题是,如果正在执行对仅封装了我的服务的公共方法(请参阅“扩展 Binder 类”部分)的活页夹的调用,这些方法是否也会在专用工作线程中执行?还是会在主应用程序的线程中完成?如果我想从主屏幕小部件调用方法,是否需要额外的方法Messenger
来委派这些调用?
我什么时候使用哪种方法(Binder
和onStartCommand()
)?