Android 在未扩展活动的情况下启动服务

Android 在未扩展活动的情况下启动服务,android,service,android-activity,fragment,Android,Service,Android Activity,Fragment,我想在班上开办一项服务 public class LayoutOne extends Fragment implements OnClickListener 以前,当我扩展活动超类时,它运行得很好,但是由于我必须扩展片段,所以我遇到了一个问题 我实现了LayoutOne类的OnClicklistener,所以我想在其中启动一个服务,但它在新的意图行和startServcie行上给了我一个错误。。你知道我该怎么解决这个问题吗 @Override public void onClick(View

我想在班上开办一项服务

public class LayoutOne extends Fragment implements OnClickListener
以前,当我扩展活动超类时,它运行得很好,但是由于我必须扩展片段,所以我遇到了一个问题

我实现了LayoutOne类的OnClicklistener,所以我想在其中启动一个服务,但它在新的意图行和startServcie行上给了我一个错误。。你知道我该怎么解决这个问题吗

@Override
public void onClick(View v) {

switch (v.getId()) {
case R.id.bGo:

if (mStartGo) {
mButton.setText(“Stop going boy”);
mStartGo = false;

Intent intent = new Intent(this, StartGoService.class);
Messenger messenger = new Messenger(handler);
intent.putExtra(“MESSENGER”, messenger);
startService(intent);
//…
尝试使用:

Intent intent = new Intent(v.getContext(), StartGoService.class);
Messenger messenger = new Messenger(handler);
intent.putExtra(“MESSENGER”, messenger);
v.getContext().startService(intent);

因为它是视图的onClick()方法,所以您应该能够使用用于创建视图的上下文。

似乎不起作用。。。无法实例化activity ComponentInfo{com.test.viewpager/com.test.viewpager.StartGoService}:java.lang.ClassCastException:com.test.viewpager.StartGoService作为错误:(PS很抱歉,但不要理解您的意思:确保调用getActivity()在你的片段被附加到一个活动之后..我现在做的是测试上面的代码,而不是我的4行。。