[英]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.