[英]How to stop timer.schedule when i am going to another activity
我已點擊此鏈接在我的項目中實施Volley。 我有相同的“ AppController”類。 它工作正常。 現在我想每隔5分鍾打電話給服務器,所以我寫了以下
Timer timer = new Timer();
timer.schedule(new TimerTask() {
public void run() {
try {
JSONObject json = new JSONObject();
json.put("SomeData1", "SomeData1Value");
json.put("SomeData2", "SomeData2Value");
JsonObjectRequest j = new JsonObjectRequest("SomeUrl", json,
responseSaveTokenJson(), genericErrorListener());
AppController.getInstance().addToRequestQueue(j);
} catch (Exception e) {
// TODO: handle exception
}
}
}, 0, 5000);
private Response.ErrorListener genericErrorListener() {
return new ErrorListener() {
public void onErrorResponse(VolleyError error) {
try {
Toast.makeText(getApplicationContext(),
"Code :" + error.networkResponse.statusCode + "\nNetwork Error\nPlease Try AgainH",
Toast.LENGTH_LONG).show();
} catch (Exception e) {
Toast.makeText(getApplicationContext(), "No internet connection availableH\n" + error.getMessage(),
Toast.LENGTH_LONG).show();
}
}
};
}
private Response.Listener<JSONObject> responseSaveTokenJson() {
return new Response.Listener<JSONObject>() {
public void onResponse(JSONObject response) {
Toast.makeText(HomeActivity.this, "RH", Toast.LENGTH_SHORT).show();
}
};
}
如您所見,如果請求成功,那么它將顯示“ RH”的吐司。
它的工作原理發現現在我通過執行以下操作來參加另一項活動
Intent intent = new Intent(getApplicationContext(), SomeActivity.class);
startActivity(intent);
finish();
該應用顯示了其他活動,但問題是“每隔5秒鍾還會烘烤“ RH””
如何從烘烤中停止(如何停止計時器)
Intent intent = new Intent(getApplicationContext(), SomeActivity.class);
startActivity(intent);
timer.cancel();
finish();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.