2012-04-01 24 views
16

tengo este código que describe un servicio:¿Cómo detener la ejecución de servicios?

public class navigation_web extends Service { 

    Context context; 

    public void navigation() { 
     Cursor mCur = getContentResolver().query(Browser.BOOKMARKS_URI, 
      Browser.HISTORY_PROJECTION, null, null, null); 
     mCur.moveToFirst(); 
     if (mCur.moveToFirst() && mCur.getCount() > 0) { 
      while (mCur.isAfterLast() == false) { 
       Log.v("titleIdx", 
        mCur.getString(Browser.HISTORY_PROJECTION_TITLE_INDEX)); 
       Log.v("urlIdx", 
        mCur.getString(Browser.HISTORY_PROJECTION_URL_INDEX)); 
       mCur.moveToNext(); 
      } 
     } 
     // Browser.clearSearches(getContentResolver()); 
    } 

    public void onCreate() { 
     // Browser.clearHistory(getContentResolver()); 
     // Browser.clearSearches(getContentResolver()); 
     navigation(); 
     // super.onCreate(); 
    } 

    @Override 
    public int onStartCommand(Intent intent, int flags, int startId) { 
     return super.onStartCommand(intent, flags, startId); 
    } 

    @Override 
    public void onDestroy() { 
     super.onDestroy(); 
    } 

    @Override 
    public IBinder onBind(Intent arg0) { 
     return null; 
    } 
} 

puedo llamar a este servicio de una actividad utilizando

startService(new Intent(Finalv2Activity.this, navigation_web.class)); 

pero quiero detener este servicio en funcionamiento después de llamar a él, así que se puede llamar de nuevo. Cómo puedo hacer esto. gracias

+0

relacionados http://stackoverflow.com/questions/5555765/stop-service-in-android –

Respuesta

35

Hay otro método que se llama stopService(Intent intent). Dentro del servicio, puede llamar al stopSelf().

24

utilizar el método de la actividad stopService():

stopService(new Intent(ActivityName.this, ServiceClassName.class)); 
3

stopService(Intent intent) es el método para detener cualquier servicio específico

Cuestiones relacionadas