Service Android

Pessoal…
Estou com problema para parar um Serviço no Android…

Ele é definico no XML assim:

<service android:name=".model.ServiceTimer"> <intent-filter> <action android:name="INICIAR_SERVICO_NOWWW" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </service>

Eu preciso começar ele em uma Activity e terminar EM OUTRA Activity
Eu começo o serviço, e imediatamente eu já vou para outra acvity:

startService(StaticIntent.getInstance()); startActivity(new Intent(Login.this, RecordAndSend.class).putExtra("nomeusuario", _nomeus));

Na outra activity quando quero parar eu faço assim:

Essa é minha classe StaticIntent:

[code]import android.content.Intent;

public class StaticIntent {
public static Intent inten = new Intent(“INICIAR_SERVICO_NOWWW”);
public static Intent getInstance() {
return inten;
}

}[/code]

No meu service tem isso:

@Override public void onDestroy() { super.onDestroy(); stopSelf(); Log.i(CATEGORIA, "PAROU!!"); }

Quando eu mando parar, ele exibe essa mensagem (“PAROU!!”)… Mas continua realizando as funções (exibindo mensagens)…

Ele está assim:

[code] @Override
public void onStart(Intent intent, final int startId){

	super.onStart(intent, startId);
	
	Log.i(CATEGORIA, "Comecando");	
	
	_timer.scheduleAtFixedRate(new TimerTask() {
		@Override
		public void run() {
			Log.i(CATEGORIA, "Executando Tarefa");
		}
	}, 0, 20000);
}[/code]

Consegui…
Achei que ele estava criando de alguma forma uma outra instância do serviço, mas na realidade não estava, o serviço não é destruido…

Foi só dar um _timer.cancel();

pedroroxd,

Apesar de a dúvida estar resolvida, a pergunta não fez muito sentido.
As classes Service e Activity não estão relacionadas. O serviço roda em background, embora nada impeça que uma activity chame um serviço através de uma intent e este chame uma activity ao final de sua execução.
Entretanto o funcionamento dos dois são independentes. O serviço não começa em uma Activity e termina na mesma ou em outra . Ele é assíncrono. A melhor maneira de visualizá-lo é como uma thread gerenciada pelo sistema operacional.

[quote=Vicento Corleone]…
embora nada impeça que uma activity chame um serviço através de uma intent e este chame uma activity ao final de sua execução.
Entretanto o funcionamento dos dois são independentes. O serviço não começa em uma Activity e termina na mesma ou em outra .[/quote]

Realmente… Mas eu precisava Começar e Parar o serviço dentro de uma Activity…
Vou ser mais claro:

O usuário faz o Login. Começa um service (pro usuário dele)… Contiua por todo tempo…
Usuário faz logout. Necessito terminar o serviço