簡體   English   中英

我怎樣才能讓雙擊關閉我的應用程序

[英]How can i make double press back to close my app

我有 startActivity 和 HomeScreen 活動。 HomeScreen 活動出現在 startActivity 之后。 我想實現雙擊返回以關閉應用程序。 我試過這段代碼,但應用程序關閉后,它立即再次重新打開或只是返回到 startActivity。

@Override
    public void onBackPressed() {
        if (doubleBackToExitPressedOnce) {
            super.onBackPressed();
            return;
        }

        this.doubleBackToExitPressedOnce = true;
        Toast.makeText(this, "Нажмите ещё раз что бы закрыть приложение", Toast.LENGTH_SHORT).show();

        new Handler().postDelayed(new Runnable() {

            @Override
            public void run() {
                doubleBackToExitPressedOnce = false;
            }
        }, 2000);
    }

如果此代碼在某個子活動中(不在主活動中),請嘗試替換:

super.onBackPressed()

和:

finishAffinity()

因為根據文檔

默認實現只是完成當前活動,但您可以覆蓋它來做任何您想做的事情。

調用super.onBackPressed()將完成當前活動 - 而不是整個應用程序。 這可能是您的錯誤的來源,但我無法確定,因為您沒有為我們提供更廣泛的上下文 - 更多代碼。

因此,另一方面, finishAffinity()可能是您的解決方案。 文檔說:

在當前任務中完成此活動以及緊接其下的所有具有相同親和力的活動。

這應該完成所有活動。

暫無
暫無

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

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