仅在打开应用程序时显示警报

时间:2015-06-12 16:50:29

标签: java android alert onstart

是否有办法在应用程序打开时才显示警报?我在MainActivity中的onStart()中创建了一个警报,每当我回到应用程序中的那个活动时,它再次显示警报,这可能会让用户烦恼。或者有没有办法创建一个“拿到它”按钮,然后关闭警报?这是我的代码:

OR

2 个答案:

答案 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