2012-10-08 30 views
2

在我的UI我在点击一个按钮听者检查网络可用性的应用如何检查网络可用性的Android上回来从手机菜单

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并从我离开的位置返回到屏幕。现在无线网络处于开启状态,它仍然显示“检查网络连接”。如果我重新启动应用程序,它会不显示对话框。我可以如何解决这个问题?

} 
+0

尝试返回true而不是返回!= null – Syn3sthete

回答

3

您应该使用的广播接收器,让您的应用程序通知有关网络状态的变化直接启动无线设置屏幕。

+1

谢谢。这是我想要的。我从这个http://stackoverflow.com/questions/10350449/how-to-check-the-internet-connection-periodically-in-whole-application/10350511#10350511 – playmaker420

+1

得到了一些代码片段欢迎广播接收器是当您希望获得有关广播服务的通知时(例如更改网络状态),最为理想。 –

1

当用户点击确定按钮时,您应该关闭对话框并指导他进入设置无线和网络屏幕。您应该执行startActivityForResult,并且当用户再次访问应用程序时,将会调用onActivityResult(),您可以在其中处理代码。在onActivityResult()你可以再次检查互联网是否存在,如果不存在,那么只需显示一个吐司。点击按钮,你可以使用

startActivityForResult(new Intent(Settings.ACTION_WIRELESS_SETTINGS),0);