我有这样的课:
public class ExpandableListAdapter extends BaseExpandableListAdapter {
我想从这个类运行一个服务。但据我所知,服务只能从Activitys
. 那么解决方案是什么?
如何启动服务并从另一个类控制它?
我有这样的课:
public class ExpandableListAdapter extends BaseExpandableListAdapter {
我想从这个类运行一个服务。但据我所知,服务只能从Activitys
. 那么解决方案是什么?
如何启动服务并从另一个类控制它?
但据我所知,服务只能从 Activity 运行
这不是真的。为了运行服务,您只需要一个上下文,这通常是对您的活动的引用。
因此,在 ExpandableListAdapter 中,您只需确保构造函数接收到您的活动实例:
public ExpandableListAdapter(Context context){
mContext = context;
}
// somewhere else
mContext.startService(theIntent);
大多数适配器都有上下文,因此您可以调用 getContext() 来返回上下文。这个适配器没有上下文,所以你应该有一个自定义构造函数,它接受一个上下文并调用它的 super。使用您传入的上下文,您可以像在活动中一样调用startService(Intent intent) 。