JavascriptProva

martedì 5 aprile 2016

Un Service con un thread.

Adesso che ho un service, provo a fargli fare qualcosa, dopodiché si distrugge spontaneamente, secondo l'esempio che ho trovato in rete.

Eccolo:
public class Servizio extends Service{

 @Override
 public IBinder onBind(Intent intent) {
  // TODO Auto-generated method stub
  return null;
 }
 
 @Override
 public int onStartCommand(Intent intent,int flags, int startId){
  Log.v("SERVICE","PARTITO");
  new Thread (new Runnable(){

   @Override
   public void run() {
    for(int i=0;i<5;i++){
     try {
      Thread.sleep(1000);
     } catch (InterruptedException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
     }
    }
    stopSelf();
    
   }
   
  }).start();
  
  return Service.START_STICKY;
  
 }
 
 @Override
 public void onDestroy(){
  Log.v("SERVICE","DISTRUTTO");
 }

}


Meglio ancora questo con il contatore:
 @Override
 public int onStartCommand(Intent intent,int flags, int startId){
  Log.v("SERVICE","PARTITO");
  new Thread (new Runnable(){

   @Override
   public void run() {
    for(int i=0;i<5;i++){
     try {
      Thread.sleep(1000);
     } catch (InterruptedException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
     }
     Log.v("CONTATORE",""+i);
    }
    stopSelf();
    
   }
   
  }).start();
  
  return Service.START_STICKY;
  
 }
che dà un numero ogni secondo:
04-05 15:06:12.177: V/SERVICE(2323): PARTITO
04-05 15:06:13.185: V/CONTATORE(2323): 0
04-05 15:06:14.196: V/CONTATORE(2323): 1
04-05 15:06:15.206: V/CONTATORE(2323): 2
04-05 15:06:16.215: V/CONTATORE(2323): 3
04-05 15:06:17.226: V/CONTATORE(2323): 4
04-05 15:06:17.236: V/SERVICE(2323): DISTRUTTO

Nessun commento:

Posta un commento