現在、次を使用してアクティビティの onCreate メソッド内で開始されるサービスがあります。
Intent intentService = new Intent(this, MainService.class);
this.startService(intentService);
ボタンを押してこのサービスを停止し、別のボタンを押して再起動できるようにする必要がありますが、このサービスを停止して onCreate メソッドの外で再度開始する方法がわかりません。
現在行っている方法とは異なる方法でサービスを開始する必要があると思いますか? しかし、これに最適な方法がわかりません。
私はアンドロイドで停止サービスを見ましたが、サービスを開始する方法は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);
}
};