Ich bin ein DienstBenachrichtigungen alle 1 Stunde in meiner Anwendung ausgeführt.Android: Überprüfen, ob mein Dienst im Hintergrund läuft
Der Service läuft definitiv alle 1 Stunde; Ich habe es mit dem Logcat überprüft.
Aber da ich diesen Dienst in der onResume()
meiner MainActivity starte, möchte ich überprüfen, ob der Dienst bereits ausgeführt wird, und starten Sie es nur, wenn es nicht ausgeführt wird.
habe ich diesen Code:
private boolean isMyServiceRunning() {
ActivityManager manager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
for (RunningServiceInfo service : manager.getRunningServices(Integer.MAX_VALUE)) {
if ("com.android.MyApp.MyServices.NotificationsService".equals(service.service.getClassName())) {
return true;
}
}
return false;
}
Aber ich bekomme immer falsch.
Also überprüfte ich was Ausgang service.service.getClassName()
gibt. Und mein Service ist nicht in der Liste.
Liegt es daran, dass meine Anwendung unbekannt ist? oder etwas anderes?
Warum sollten Sie überprüfen, dass der Dienst ausgeführt wird? Angenommen, Sie starten Ihren Dienst mit context.startService (...) Der Dienst wird nur erstellt, wenn er gerade nicht ausgeführt wird, aber onStartCommand (...) Ihres Dienstes wird immer –
aufgerufen. Ihr Dienst wird unter Einstellungen> Anwendungen> aufgelistet RunningServices? –
@BehzadMomahedHeravi Nr –