2017-05-05 113 views
0

我有一個包含許多遊戲畫面的應用程序,每個畫面都有自己的活動。其中一些遊戲屏幕將使用計時器來啓動某些功能。我遇到的問題是當用戶退出其中一個遊戲屏幕時,定時器仍在後臺運行。我知道這一點,因爲當我離開主菜單時,計時器會加載丟失的屏幕,因爲計時器和活動仍在後臺進程中運行。我只是想殺死活動,如果用戶點擊手機後退按鈕(不是我創建的按鈕,但設備後退按鈕)。Android:殺死後臺活動

這是當前的方法我用它來嘗試實現這一目標:

@Override 
public void onBackPressed() { 
    super.onBackPressed(); 
    this.finish(); 
} 

它不會殺死活性。

編輯:

我應該指出,停止計時器的工作,但我的一些屏幕的輸贏時可變打一定數量的條件下完成。例如,我有一個屏幕,當敵人逃離玩家的視線時,當這個命中5時,變量增加1,玩家失去。這不是在一個計時器上完成的,因爲活動仍在運行,變量點擊5,並且當我不在該遊戲屏幕上時加載丟失屏幕。

+0

檢查更新回答。 –

回答

0

只有可見的Activity將收到finish()命令。你需要啓動和停止計時器onResume

0

首先,去除

super.onBackPressed(); 

並添加

yourActivity.this.finish(); 

讓我知道如果這能幫助:)

+0

它無法解決完成。 –

+0

對不起,我的不好()。我已經更新了答案 –

+0

沒有得到調用我不認爲 –