我目前有一项服务在 Activity 的 onCreate 方法中启动,使用:
Intent intentService = new Intent(this, MainService.class);
this.startService(intentService);
我现在需要能够在按下按钮时停止此服务,并在按下另一个按钮时重新启动它,但是我不确定如何停止此服务并在 onCreate 方法之外再次启动它。
我想我需要以不同于我目前正在做的方式启动服务?但我不确定最好的方法。
我看过stop service in android但是他们启动服务的方法似乎在 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" />
关于java - Android:停止/启动在 onCreate() 中创建的服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16876538/