2

在我的 UI 中,我在按钮单击列表器中检查网络可用性

NewButton.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                if(isInternetAvailable)
                {
                Intent intent = new Intent(FeaturedListActivity.this,
                        NewJewelsActivity.class);
                startActivity(intent);
                finish();
                }
                else
                {
                    MyAlertDialog.ShowAlertDialog(FeaturedListActivity.this, "", "Check Network Connection.", "OK");    
                }
            }
        });

我使用以下代码检查网络可用性

public boolean isNetworkAvailable() {
          ConnectivityManager connectivityManager= (ConnectivityManager) getSystemService(getApplicationContext().CONNECTIVITY_SERVICE);
            NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
            return activeNetworkInfo != null;

现在我的问题是,当我在 wifi 处于关闭状态的情况下启动应用程序时,条件将起作用并显示“检查网络连接”对话框。现在我按下手机的中心按钮并打开 wifi 并从我离开的地方返回屏幕。现在 wifi 处于开启状态,它仍然显示“检查网络连接”。如果我重新启动应用程序,它将不显示对话框。我该如何解决?

}
4

2 回答 2

3

您应该使用广播接收器来通知您的应用程序有关网络状态的更改。

于 2012-10-08T08:34:15.693 回答
1

当用户单击确定按钮时,您应该关闭对话框并将他引导至设置无线和网络屏幕。你应该做一个startActivityForResult,当用户再次访问应用程序时,onActivityResult()将调用你可以处理你的代码的地方。onActivityResult()您可以再次检查互联网是否存在,如果不存在,则只需显示祝酒词。在按钮上单击,您可以使用直接启动无线设置屏幕

 startActivityForResult(new Intent(Settings.ACTION_WIRELESS_SETTINGS),0);
于 2012-10-08T08:33:58.797 回答