Android:在onCreate()中创建的停止/启动服务

我目前有一项使用以下活动在活动的onCreate方法中启动的服务:

Intent intentService = new Intent(this, MainService.class);

this.startService(intentService);

现在,我需要能够在按下按钮时停止该服务,并在再次按下按钮时再次重新启动它,但是我不确定如何停止该服务并在onCreate方法之外重新启动它。

我想我需要以不同于当前正在执行的方式启动该服务?但是我不确定最好的方法。

我曾在android中查看过stop服务,但是他们启动服务的方法似乎在onCreate中不起作用。

我的代码的完整概述:

public class MainActivity extends Activity {

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

lock = (Button) this.findViewById(R.id.lock);

unlock = (Button) this.findViewById(R.id.unlock);

lock.setOnClickListener(btn_lock);

unlock.setOnClickListener(btn_unlock);

unlock.setVisibility(View.VISIBLE);

lock.setVisibility(View.GONE);

Intent intentService = new Intent(this, MainService.class);

this.startService(intentService);

}

private OnClickListener btn_lock = new OnClickListener() {

public void onClick(View v) {

unlock.setVisibility(View.VISIBLE);

lock.setVisibility(View.GONE);

}

};

private OnClickListener btn_unlock = new OnClickListener() {

public void onClick(View v) {

unlock.setVisibility(View.GONE);

lock.setVisibility(View.VISIBLE);

}

};

回答:

每当您想要启动服务时,您所需要做的就是

 startService(new Intent(this, MainService.class));

并随时停止服务

stopService(new Intent(this, MainService.class));

请记住,服务需要在AndroidManifest.xml中声明。如您所说,您的服务正在运行。我确定你已经做到了。还是AndroidManifest.xml

 <service android:enabled="true" android:name=".MainService" />

以上是 Android:在onCreate()中创建的停止/启动服务 的全部内容, 来源链接: utcz.com/qa/414991.html

回到顶部