>

Fórum

Fórum da RL System, voltado para analistas, programadores etc. Tudo sobre linguagem de programação e desenvolvimento Full Stack: Banco de Dados, Android, C#, Java, .NET, PHP, Node, Javascript, TypeScript, Front, HTML e muito mais.



dificuldade para encerrar um serviço


boa tarde a todos

estou me matando aqui para tentar encerrar um serviço. alguem pode me ajudar, por favor?

por exemplo no metodo onCreate da Activity startei o serviço ai quando clicar em um Button o evento onClick encerra o serviço em execução(era pra encerrar, mas nao encerra).


//no onCreate
StartService(new Intent("servicoInfinito"));


//no onClick do botao
StopService(new Intent("servicoInfinito"));


//la na classe do serviço esta um loop infinito q esta dentro do metodo run da Runnable que foi implementada na classe
//loop infinito
for(int i=0; i< 1000; i++){
//quando i chegar a 999 sera incrementado o valor 0
if(i == 999){
i = 0;
}
}


o que esta faltando?
obs.: o serviço só para quando eu tiro o aplicativo da memoria do telefone.

grato



3 Respostas


Ola Ronaldo

vc fez assim na sua classe Service
@Override
public int onStartCommand(Intent intent , int flags, int startId){

new Thread(this, "Exemplo ").start();
return super.onStartCommand(intent, flags, startId);
}

public void run() {

for(int i=0; i< 1000; i ){
//quando i chegar a 999 sera incrementado o valor 0
if(i == 999){
i = 0;
}
}
}




nao eu fiz do jeito do curso android online. assim:


public class ServicoValidacao extends Service implaments Runnable{

@Override
public void onCreate(){
new Thread(ServicoValidacao.this).start();

}//fim onCreate()
@Override
public void run(){
for(int i=0; i< 1000; i ){
//quando i chegar a 999 sera incrementado o valor 0
if(i == 999){
i = 0;
}//fim for i < 1000
}//fim run()
}//fim class




Ronaldo

No curso é utilizado o stopSelf()

Por favor, utilize o mesmo método.

stopSelf();

Obrigado