簡體   English   中英

每30秒給變量一個值

[英]giving a variable the value of one every 30 seconds

在android中,如果單擊一個按鈕,我希望倒數從30開始倒數​​到0。我用基本的倒數方法創建了一個代碼,但問題是如果活動或應用程序關閉,它不會繼續倒數。

我想要做的是活動,或者只是倒數計時繼續在后台滴答作響,直到它達到0,然后它將變量B更改為1。

我從最初的模型中得到了擴展,認為我可以比較從單擊按鈕+ 30秒到再次調用該活動的日期時間。 但是到目前為止,我在比較兩個android中的日期時間時遇到了麻煩。

有什么幫助嗎?

您可能想要的是一個異步任務在后台運行。 就像是:

private class JohnnysPollTask extends AsyncTask<Integer, Void, Integer> {
        /**
         * The system calls this to perform work in a worker thread and delivers
         * it the parameters given to AsyncTask.execute()
         */
        protected Integer doInBackground(Integer... millis) {
            try {
                int waited = 0;         
                                int duration = 30000;
                while (waited < duration) {
                    Thread.sleep(1000);
                    waited += 1000;

                    if (waited>=duration) {
                        b=1;
                        break;
                    }
                }
            } catch (InterruptedException e) {
                // do nothing
            }

            return 1;
        }

您可以嘗試使用服務而非活動。

實現CountDownTimer

內部service

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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