如何停止运行服务?

emn*_*mna 19 android android-service

我有这个描述服务的代码:

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;
    }
}
Run Code Online (Sandbox Code Playgroud)

我可以使用活动来调用此服务

startService(new Intent(Finalv2Activity.this, navigation_web.class));
Run Code Online (Sandbox Code Playgroud)

但是我想在调用它之后停止这个运行服务,这样我就可以再次调用它.我怎样才能做到这一点.谢谢

Sim*_*nda 37

还有另一种叫做的方法stopService(Intent intent).在服务中,你可以打电话stopSelf().


Tal*_*nel 30

使用活动stopService()方法:

stopService(new Intent(ActivityName.this, ServiceClassName.class));
Run Code Online (Sandbox Code Playgroud)