Al momento ho un servizio che viene avviato all'interno del metodo onCreate di un'attività utilizzando:Android: Stop/avviare il servizio creato nel onCreate()
Intent intentService = new Intent(this, MainService.class);
this.startService(intentService);
Ho bisogno di essere ora in grado di fermare questo servizio su un premere il pulsante e riavviarlo di nuovo su un altro pulsante, tuttavia non sono sicuro su come interrompere questo servizio e ricominciare dal lato del metodo onCreate.
Immagino che avrei bisogno di avviare il servizio in un modo diverso rispetto a quello che sto facendo attualmente? Ma non sono sicuro del metodo migliore per questo.
Ho avuto uno sguardo su stop service in android ma il loro metodo di avvio del servizio sembra non funzionare all'interno di onCreate.
Una più completa sopra la vista del mio codice:
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);
}
};
EDIT sembra che questo funziona solo in onCreate il codice non funziona nel onclick ascoltatore –
sì. Ma prova a fermare prima un servizio e poi avviarlo. Non si arresterebbe in modo anomalo se il servizio era già stato interrotto – MDMalik
Sembra non funzionare all'interno del listener onclick assumendo che questo debba essere cambiato in qualcos'altro? –