Ich höre nicht auf Service
, es ist STICKY
Service
. Beim Start app ich den Dienst an Steuerung läuft oder nicht mag:
public static boolean isMyServiceRunning(Class<?> serviceClass,Context mContext) {
ActivityManager manager = (ActivityManager) mContext.getSystemService(Context.ACTIVITY_SERVICE);
for (ActivityManager.RunningServiceInfo service : manager.getRunningServices(Integer.MAX_VALUE)) {
if (serviceClass.getName().equals(service.service.getClassName())) {
return true;
}
}
return false;
}
Verbrauch:
if(!isMyServiceRunning(MyService.class, getApplicationContext())){
startService(new Intent(this, MyService.class));
}
Aber wenn ich logout meinen Benutzer i stoppen bin Service wie:
Intent serviceIntent=new Intent(mContext,MyService.class);
mContext.getApplicationContext().stopService(serviceIntent);
Sie haben ein IntentService, der ständig läuft? Dies scheint nicht wahrscheinlich. – SlowAndSteady
Sie sind völlig richtig, ich habe einen Tippfehler gemacht, es ist eigentlich ein Service – Jaythaking
Warum starten Sie Ihren Service mehrmals, auch wenn es ein Sticky-Service ist. Kannst du es erklären, ich möchte darüber nachdenken. Es gibt so viele Möglichkeiten, Ihre Servicemethoden ohne erneute Erstellung auszulösen. –