Android – Verificar serviços em execução

Os serviços são executados em segundo plano por tempo indeterminado , geralmente eles tem um alto consumo de recursos, memoria e CPU. Não há interação com o usuário e não precisa de interface gráfica.

Eles podem ser utilizados para fazer download de alguma informação, fazer verificações no sistema, um reprodutor de MP3 entre outros processos demorados sem que o usuário perceba.

Atravez deste método o sistema verifica os serviços que estão rodando:

   public boolean isServiceRunning(String servicoClassName) {
        ActivityManager activityManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
        List<RunningServiceInfo> services = activityManager.getRunningServices(Integer.MAX_VALUE);
        Log.d(TAG,"Procurando Serviços");
        for (int i = 0; i < services.size(); i++) {
            Log.d(TAG,"Service Nr. " + i + " class name : " + services.get(i).service.getClassName());
	    if(services.get(i).service.getClassName().compareTo(servicoClassName)==0){
	    	return true;
	    }
        }
        return false;
    }

Fonte imagem: http://images.mylot.com/userImages/images/postphotos/2521292.jpg