1

我正在使用以下代码检查网络连接:

public static boolean haveInternet(Context ctx) 
{
    NetworkInfo info = (NetworkInfo) ((ConnectivityManager) ctx.getSystemService(Context.CONNECTIVITY_SERVICE)).getActiveNetworkInfo();

   if (info == null || !info.isConnected()) {
          return false;  // no connection
   }

  return true;   // true if having connection
}       

现在,在“无连接”上,我使用以下代码启动“无线设置”对话框:

    context.startActivity(new Intent(Settings.ACTION_WIRELESS_SETTINGS));

在这里,用户可以“打开/关闭”无线网络,现在我如何知道用户是否“打开”了无线网络?即上述意图在成功的无线连接上返回什么结果。我如何检查它?

我想我需要调用 startActivityForResult 方法,但不知道该怎么做?

更新:

我想做与http://groups.google.is/group/android-developers/msg/6874a5e4675dffdb相同的方式

4

1 回答 1

2

现在我怎么知道用户是否已经“打开”了 wi-fi?即上述意图在成功的无线连接上返回什么结果。我如何检查它?

没有结果。您可以通过调用上面显示的代码或通过监视相关的广播意图来检查它(参见ConnectivityManagerand its CONNECTIVITY_ACTIONorWifiManager和 its WIFI_STATE_CHANGED_ACTIONor NETWORK_STATE_CHANGED_ACTION)。

我想我需要调用 startActivityForResult 方法,但不知道该怎么做?

那个活动不支持startActivityForResult()

于 2010-10-08T12:04:03.127 回答