Android活动重启

时间:2011-03-09 02:22:52

标签: java android function

嘿伙计们,我正在创建一个Android应用程序,我想在每次应用程序启动时显示关于法律协议的对话框,我有一个公共方法showalert(<>);它通过使用alertbuilder构建一个对话框来显示alertdialog。我在主活动的onCreate()方法上添加了对showalert()方法的调用以显示它,但是每当用户旋转屏幕时,他每次都会获得对话框。手机旋转时,活动会自动重启。我尝试将android:configChanges =“keyboardHidden | orientation”添加到我的清单中,但这对这种情况没有帮助。我也可以知道如何在清单文件上注册新的应用程序类。我正在尝试创建一个应用程序类,并将代码放在新类的oncreate方法上显示对话框。但是我无法在应用程序启动时加载课程。

我还检查了Activity restart on rotation Android,但我似乎没有得到任何东西。我几乎是android编程的新手,有人可以为我简化这个吗?

任何帮助将不胜感激。 :)

2 个答案:

答案 0 :(得分:1)

您可以查看onRetainNonConfigurationInstance()活动方法,该方法在销毁和重新创建屏幕方向更改活动之前调用。

它允许您保留一个可以包含测试变量的对象,以了解您的合法内容是否已经显示过。例如:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    final String test = (String) getLastNonConfigurationInstance();
    if (!("textAlreadyShown").equals(test)) {
        //here : show your dialog
    }
}

@Override
public String onRetainNonConfigurationInstance() {
    return "textAlreadyShown";
}   

答案 1 :(得分:0)

将主要活动设置为仅显示法律通知的活动,当接受/清除时,显示第二个活动(当前是主要活动)?