更改设置Android后重新加载或重新创建旧活动

时间:2015-04-21 18:34:28

标签: android android-activity settings reload

我有一个显示数据的活动,在一切开始之前我会检查是否有互联网。如果我没有将用户发送到Wifi设置。

我面临的问题是,在用户连接到互联网并按下后,应用程序将为空而没有数据。有没有办法重新加载此活动或重新创建它?

我尝试了这段代码,但在我进入设置之前重新创建了活动,因此对话框保持打开状态

@Override
protected void onResume() {
super.onResume();
this.onCreate(null);
}

这是检查互联网连接的代码

    if(!isNetworkAvailable()){
         //Toast.makeText(getApplicationContext(), "internet is not avialable", Toast.LENGTH_LONG).show();

        AlertDialog.Builder ad = new AlertDialog.Builder(this);
        ad.setMessage("There is no Internet Connection.\n Please check your settings.");
        ad.setCancelable(false);
        ad.setPositiveButton("Internet Settings", new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int which) 
            {
                startActivity(new Intent(android.provider.Settings.ACTION_WIFI_SETTINGS));

            }               

        });
        ad.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int which) 
            {
                finish();
            }
        });

        ad.show();
    }

2 个答案:

答案 0 :(得分:1)

也许最简单的解决方案是调用recreate()类的Activity方法。类似于以下内容:YourActivity.recreate()。请注意,这仅适用于> = API 11。

您还可以使用Intent对当前Activity进行简单的重新启动,如下所示:

Intent intent = getIntent();
finish();
startActivity(intent);

您可以在此处找到更多信息:How do I restart an Android Activity

答案 1 :(得分:0)

在代码的onResume部分,我添加了if statement,再次检查互联网。