Beschrieben, weil der Dienst zum regelmäßigen Erstellen von Screenshots nicht beendet wurde. Dienste mit Timer-Verarbeitung stoppen den Dienst, nachdem der Timer gestoppt wurde (Auch wenn nur der Dienst gestoppt wird, läuft der Timer hinter den Kulissen weiter und der Prozess bleibt bestehen). Hier wird die in Service definierte Task (Timer) von stopService abgebrochen und gestoppt.
Wenn Sie den Start des Dienstes bestätigen, läuft true weiter, es sei denn, der Timer wird gestoppt.
Dienstname: Dienst
Activity.java
//Bestätigung der Timer-Verarbeitung
SService ssservice= new SService();
if(ssservice.task != null) {
ssservice.task.cancel();
ssservice.task = null;
}
//Dienstausfall
android.content.Intent _intent;
_intent = new android.content.Intent(getApplicationContext(), ssservice.class);
getApplicationContext().stopService(_intent);
Sie können den Start des Dienstes mit den folgenden Quellen überprüfen. Bitte als Referenz
Activity.java
private boolean isMyServiceRunning(Class<?> serviceClass) {
//Bestätigung des Servicestarts
ActivityManager manager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
for (ActivityManager.RunningServiceInfo service : manager.getRunningServices(Integer.MAX_VALUE)) {
if (serviceClass.getName().equals(service.service.getClassName())) {
//Service gestartet
return true;
}
}
//Der Dienst wird nicht gestartet
return false;
}