Ich habe eine App, die als Webserver ausgeführt wird. Die App verfügt über einen Dienst, der START_STICKY ist. Ich möchte, dass dieser Dienst den Webserver ständig ausführt (dem Benutzer wird in einer Benachrichtigung die Option zum Beenden gegeben).Dienst neu gestartet auf Anwendung Schließen - START_STICKY
Problem ist, dass der Server neu gestartet wird (Einstellungen verloren usw.), wenn ich meine App geschlossen habe. Es bleibt dort gut, aber logcat zeigt, dass es neu startet.
Ich kann meine App wieder öffnen und an den neuen Dienst binden, das funktioniert gut. Das erneute Schließen des Swipe hat denselben Effekt.
Ich brauche dies nicht neu zu starten.
Standard-Service-Code
private WebServerService mService;
private ServiceConnection mConnection = new ServiceConnection() {
@Override
public void onServiceConnected(ComponentName className,
IBinder binder) {
WebServerService.MyBinder b = (WebServerService.MyBinder) binder;
mService = b.getService();
}
public void onServiceDisconnected(ComponentName className) {
mService = null;
}
};
public serviceStart() {
mIntent = new Intent(mContext.getApplicationContext(), WebServerService.class);
mContext.startService(mIntent);
mContext.bindService(mIntent, mConnection, Context.BIND_AUTO_CREATE);
}
Dienst beim Start
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
super.onStartCommand(intent, START_STICKY, startId);
Log.d("SERVICE","Started");
return START_STICKY;
}
Werfen Sie einen Blick auf diese Antwort von @fedepaol [Android Hintergrunddienst neu gestartet wird, wenn die Anwendung getötet] [1] [1]: http://stackoverflow.com/questions/15452935/android-background -service-is-neustart-wenn-die-applikation-gekillt ist – Maclaren
das ist nicht das wonach ich spreche, es geht darum, es gar nicht neu starten zu wollen! Ich will es nicht mal schließen.Danke, aber ich denke es ist etwas nachdem ich los bin. – RuAware
Ihr Service kann und wird vom System getötet, Sie können nichts dagegen tun. Aber wenn du klebrig begonnen hast, wirst du wieder mit einer Null Absicht gestartet. Nach dem Neustart müssen Sie Ihren Status wiederherstellen. – JohanShogun