何时显示对话框

时间:2016-05-18 06:49:29

标签: android android-activity dialog activity-lifecycle

所以我的应用程序有一个活动A和一些其他活动B,C,D等,所有这些活动都会在活动A的不同点击下打开。 我的要求是每次从外部打开应用程序时显示“输入Pin”对话框(首次启动应用程序,解锁屏幕,暂停后恢复应用程序并使用其他应用程序)。

但是当我打开和关闭其他活动(B,C,D等)时,Dialogbox不应该出现。

但在这两种情况下,都会调用onPause-> onStop-> onRestart-> onResume。 那么我应该如何区分用户是否已经离开了应用程序,我应该在哪里放置对话框。显示()

1 个答案:

答案 0 :(得分:0)

Activity A中这样做,

@override
onCreate(){
 SharedPreferences.Editor editor = getSharedPreferences(PREFS_NAME, MODE_PRIVATE).edit();
  editor.putBoolean("isRunning", true);
  editor.commit();
}

@override
onStop(){
  SharedPreferences.Editor editor = getSharedPreferences(PREFS_NAME, MODE_PRIVATE).edit();
  editor.putBoolean("isRunning", false);
  editor.commit();
}

并在onResume()中检查pref,如果true则显示您的对话框。

@override
onResume(){

SharedPreferences pref = getSharedPreferences(PREFS_NAME, MODE_PRIVATE);
if(pref.getBoolean("isRunning",false)){
    //Show your dialog here
 }

}

注意:我道歉直接用编辑器编写,我在使用IDE后编辑它,但是请使用这个逻辑。