0

我有一个应用程序,每次在屏幕上显示时都需要做一些事情。在我的 onCreate 函数中,应用程序检查用户的设置并执行操作。在某些情况下,用户需要更改其设置才能继续。用户返回应用后,如何让应用再次调用 onCreate 函数?或者更好的是,当视图出现时调用什么函数?谢谢!

这就是我离开我的应用程序的方式(通过按钮):

if(!networkEnabled){

AlertDialog alertDialog = new AlertDialog.Builder(Main.this).create();
alertDialog.setTitle("Network Location Required");
alertDialog.setMessage("Please enable your network location settings to use the app");
alertDialog.setButton("Open", new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog, int which) {

Intent dialogIntent = new Intent(android.provider.Settings.ACTION_SECURITY_SETTINGS);
dialogIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(dialogIntent);
}
});
alertDialog.show();
}

然后我像这样使用 onStart :

public void onStart(Bundle savedInstanceState) {
super.onStart();
4

2 回答 2

1

检查 Activity 的生命周期。如果 Activity 从后台返回,则触发的第一个回调是 onRestart()->onStart()->onResume()。可能你会在 onStart() 中执行你的代码。调用 onStart() 后视图将可见。

编辑:

在这种情况下,将您的代码移动到 onResume() 中。更好地理解生命周期的一个提示。像这样覆盖all callbacks of the lifecycle并观察 Logcat:

public void onStart(Bundle savedInstanceState) {
    super.onStart();
    Log.w("myActivity","onStart is called");
}
于 2013-08-10T12:11:36.723 回答
0

尝试 onRestart() 方法

@Override
    protected void onRestart() {
        // TODO Auto-generated method stub
        super.onRestart();
    }
于 2013-08-10T12:51:34.703 回答