我正在使用以下代码检查网络连接:
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));
在这里,用户可以“打开/关闭”无线,现在我如何知道用户是否已经“打开”了wi-fi?即上述意图表示成功建立无线连接后会返回什么结果。我该如何检查?
我想我需要调用startActivityForResult方法,但不知道该怎么办?
更新:
我想做与http://groups.google.is/group/android-developers/msg/6874a5e4675dffdb相同的方法
最佳答案
现在我如何知道用户是否已“启用” Wi-Fi?即上述意图表示成功建立无线连接后会返回什么结果。我该如何检查?
没有结果。您可以通过调用上面显示的代码或监视相关的广播Intent(请参见ConnectivityManager
及其CONNECTIVITY_ACTION
或WifiManager
及其WIFI_STATE_CHANGED_ACTION
或NETWORK_STATE_CHANGED_ACTION
)来对其进行检查。
我想我需要调用startActivityForResult方法,但不知道该怎么办?
该活动不支持startActivityForResult()
。