簡體   English   中英

我要去參加另一項活動時如何停止timer.schedule

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM