簡體   English   中英

方法不執行?

[英]Method not executing?

我正在使用服務在我的應用程序后台運行20秒計時器。 我希望該服務在計時器完成后調用我的GameOver類。 順便說一句,當計時器運行時,用戶一直在切換活動,但是當計時器結束時,無論如何,都必須通過屏幕將用戶帶到游戲中。 我已經為該服務敬酒了,但是沒有出現。

這是我的服務:

在此處輸入圖片說明

這是我調用服務的主菜單:

在此處輸入圖片說明

這是我向您展示服務的清單:

在此處輸入圖片說明

請讓我知道為什么服務或計時器未運行。 非常感謝您的所有幫助,非常感謝! 如果您需要更多代碼,請告訴我,我會告訴您。 謝謝!

:-)

由於服務無法直接操縱UI(例如顯示吐司),因此未顯示吐司。

要通過服務執行此操作,您需要在主線程上運行Toast代碼。 可以這樣進行:

Handler handler = new Handler(Looper.getMainLooper());
handler.post(new Runnable() {
    @Override
    public void run() {
        Toast.makeText(TwentySeconds.this.getApplicationContext(), "Started!", Toast.LENGTH_SHORT).show();
    }
});

您的CountDownTimer無法正常工作,因為您從不啟動它。 很簡單。
您創建CountDownTimer,但不要在對象上調用.start()。

cdt.start();

在這個問題上幾個小時后,我發現了可悲的錯誤:

我有'<application>'結束標記的服務聲明OUTSIDE。

面容

始終將服務聲明保留在標記內

暫無
暫無

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

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