Décrit parce que le service de capture d'écran sur une base régulière ne s'est pas terminé. Les services avec traitement par minuterie arrêtent le service après l'arrêt du minuteur (Même si seul le service est arrêté, le minuteur continue de fonctionner dans les coulisses et le processus reste). Ici, la tâche (timer) définie dans Service est annulée et arrêtée par stopService.
Lors de la confirmation du démarrage du service, true continuera à passer à moins que le chronomètre ne soit arrêté.
Nom du service: Service
Activity.java
//Confirmation du traitement de la minuterie
SService ssservice= new SService();
if(ssservice.task != null) {
ssservice.task.cancel();
ssservice.task = null;
}
//Panne de service
android.content.Intent _intent;
_intent = new android.content.Intent(getApplicationContext(), ssservice.class);
getApplicationContext().stopService(_intent);
Vous pouvez vérifier le démarrage du service avec les sources suivantes. S'il vous plaît pour référence
Activity.java
private boolean isMyServiceRunning(Class<?> serviceClass) {
//Confirmation du démarrage du service
ActivityManager manager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
for (ActivityManager.RunningServiceInfo service : manager.getRunningServices(Integer.MAX_VALUE)) {
if (serviceClass.getName().equals(service.service.getClassName())) {
//Service commencé
return true;
}
}
//Le service n'est pas démarré
return false;
}