停止服务不工作注销点击android

时间:2014-03-27 13:47:13

标签: android web-services service android-service

我有服务类,每隔15分钟我在这个类里面调用webservice,如果我注销应用程序服务应该停止并且webservice不要调用,我试着使用stopService但它不工作请帮我做此

服务类:

`class GPSTracker extends Service implements LocationListener{} public Location getLocation()//using this i am getting the location 

我已使用计时器发送网络服务

Timer timer = new Timer();
    timer.scheduleAtFixedRate(new TimerTask() {

        @Override
        public void run() {
            MultipartEntity params = new MultipartEntity();
            try {
                params.addPart("value", new StringBody("live_feed"));
                params.addPart("latitide", new StringBody(String.valueOf(latitude)));
                params.addPart("longitude", new StringBody(String.valueOf(longitude)));
                params.addPart("security_id", new StringBody(Helper.loadSavedPreferences(mContext,"security_id")));
                Log.d("Security ID", Helper.loadSavedPreferences(mContext,"security_id"));
                new JSONParser(mContext, new GpsListener()).execute(params);
            } catch (UnsupportedEncodingException e) {
                e.printStackTrace();
            }
        }
    }, 0, 1000 * 60 * 1);

在另一个Helper类中,我只是停止服务,但它无法正常工作

activity.stopService(new Intent(activity,GPSTracker.class));

2 个答案:

答案 0 :(得分:2)

您应绑定服务onResume,并取消绑定onPause。如果您不在应用程序中,这应该使服务无法运行。

只要您存储了对计时器的引用,您也可以调用timer.cancel()。请注意,您需要创建一个新计时器才能再次使用它。

答案 1 :(得分:1)

单击注销按钮时,使用基本上下文停止。

 stopService(new Intent(this.getBaseContext(), GPSTracker.class));

bind和unbind服务是在服务和活动之间创建服务连接,以便活动可以通过服务实例访问服务。