Nel mio app Android, chiamo sia startService
e bindService
:Devo chiamare sia unbindService che stopService per i servizi Android?
Intent intent = new Intent(this, MyService.class);
ServiceConnection conn = new ServiceConnection() { ... }
startService(intent)
bindService(intent, conn, BIND_AUTO_CREATE);
Più tardi, tento di entrambi unbindService and
stopService`:
unbindService(conn);
stopService(intent);
Tuttavia, ottengo un'eccezione sulla chiamata a unbindService
. Se rimuovo questa chiamata, l'app sembra funzionare correttamente tramite la chiamata stopService
.
Sto facendo qualcosa di sbagliato? Ho pensato che una chiamata bindService
doveva essere associata a una chiamata unbindService
e una chiamata startService
doveva essere associata a una chiamata stopService
. Questo non sembra essere il caso qui, però.
Lo hai mai capito? Mi sono imbattuto nella stessa cosa, e ho commentato l'unbindService (conn) per me stesso. Sembra funzionare bene, ma proprio come te, il mio istinto dice che qualcosa sullo sfondo non gli piacerebbe. –