嘿伙计们,我正在创建一个Android应用程序,我想在每次应用程序启动时显示关于法律协议的对话框,我有一个公共方法showalert(<>);它通过使用alertbuilder构建一个对话框来显示alertdialog。我在主活动的onCreate()方法上添加了对showalert()方法的调用以显示它,但是每当用户旋转屏幕时,他每次都会获得对话框。手机旋转时,活动会自动重启。我尝试将android:configChanges =“keyboardHidden | orientation”添加到我的清单中,但这对这种情况没有帮助。我也可以知道如何在清单文件上注册新的应用程序类。我正在尝试创建一个应用程序类,并将代码放在新类的oncreate方法上显示对话框。但是我无法在应用程序启动时加载课程。
我还检查了Activity restart on rotation Android,但我似乎没有得到任何东西。我几乎是android编程的新手,有人可以为我简化这个吗?
任何帮助将不胜感激。 :)
答案 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)
将主要活动设置为仅显示法律通知的活动,当接受/清除时,显示第二个活动(当前是主要活动)?