我有服务类,每隔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));
答案 0 :(得分:2)
您应绑定服务onResume
,并取消绑定onPause
。如果您不在应用程序中,这应该使服务无法运行。
只要您存储了对计时器的引用,您也可以调用timer.cancel()
。请注意,您需要创建一个新计时器才能再次使用它。
答案 1 :(得分:1)
单击注销按钮时,使用基本上下文停止。
stopService(new Intent(this.getBaseContext(), GPSTracker.class));
bind和unbind服务是在服务和活动之间创建服务连接,以便活动可以通过服务实例访问服务。