是否有办法在应用程序打开时才显示警报?我在MainActivity中的onStart()中创建了一个警报,每当我回到应用程序中的那个活动时,它再次显示警报,这可能会让用户烦恼。或者有没有办法创建一个“拿到它”按钮,然后关闭警报?这是我的代码:
OR
答案 0 :(得分:1)
这是因为当您MainActivity
上的其他活动出现在前台时,您的活动会转到OnPause()
。
然后当您返回MainActivity时。系统调用
再次onStart()
。 See The activity life cycle
- 第一个解决方案
public class TestActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (savedInstanceState == null) {
showAlertDialog();
}
}
private void showAlertDialog() {
// code to show alert dialog.
}
}
- 第二个解决方案
public class TestActivity extends ActionBarActivity {
private static boolean isAlertDialogShownBefore = false;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (!isAlertDialogShownBefore) {
showAlertDialog();
isAlertDialogShownBefore = true;
}
}
private void showAlertDialog() {
// code to show alert dialog.
}
@Override
public void onBackPressed() {
isAlertDialogShownBefore = false;
super.onBackPressed();
}
}
答案 1 :(得分:0)
将该代码放入活动的onCreate方法中。检查saveInstanceState是否为null,如果是,则显示alertDialog