2012-04-01 2 views
16

Ho questo codice che descrive un servizio:Come smettere di eseguire i servizi?

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; 
    } 
} 

posso chiamare questo servizio da un'attività utilizzando

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

Ma voglio fermare questo servizio in esecuzione dopo aver chiamato così posso chiamarlo ancora. Come posso fare questo. grazie

+0

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

risposta

35

C'è un altro metodo che si chiama stopService(Intent intent). All'interno del servizio, è possibile chiamare stopSelf().

24

utilizzare il metodo attività StopService():

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

stopService(Intent intent) è il metodo per arrestare qualsiasi servizio specifico