簡體   English   中英

當應用程序從后台返回時而不是按下后退按鈕時如何顯示dilaog

[英]How to show a dilaog when app returns from background and not when back button is pressed

當我的應用程序從后台返回時,我需要顯示一個對話框,因為我已經在活動中實現了以下代碼:

 Boolean paused=false;
@Override
protected void onPause() {
    paused=true;
    super.onPause();
}

@Override
protected void onResume() {
    if(paused){
        paused=false;
        PinInptDialog dialog = new PinInptDialog(this);
        dialog.show();
    }
    super.onResume();
}

問題是它對於來自后台的應用程序正常工作,但是如果我按向后鍵,則我的項目將有許多活動,同時從一個活動導航到另一個活動,此對話框正在打開,我想避免這種情況。

在開始新活動之前,請先將paused = false; 這樣在返回此活動時它不會顯示對話框

覆蓋這些活動的onBackPressed並讓pause = false。 您必須使pause為全局變量,所有活動都可以訪問它。 我建議使用sharedpreference。

onBackPressed(){
pause = false;
super.onBackPressed();
}

我認為最好在應用程序類中創建一個布爾變量,而不是活動類。 然后在每次暫停時將變量設置為true,然后在每次恢復設置時檢查變量。

暫無
暫無

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

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