所以我的应用程序有一个活动A和一些其他活动B,C,D等,所有这些活动都会在活动A的不同点击下打开。 我的要求是每次从外部打开应用程序时显示“输入Pin”对话框(首次启动应用程序,解锁屏幕,暂停后恢复应用程序并使用其他应用程序)。
但是当我打开和关闭其他活动(B,C,D等)时,Dialogbox不应该出现。
但在这两种情况下,都会调用onPause-> onStop-> onRestart-> onResume。 那么我应该如何区分用户是否已经离开了应用程序,我应该在哪里放置对话框。显示()
答案 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后编辑它,但是请使用这个逻辑。