我正在使用以下代码检查网络连接:
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
一样答案 0 :(得分:2)
现在我如何知道用户是否已经“开启”Wi-Fi?即上述意图在成功的无线连接上返回了什么结果。我该怎么检查呢?
没有结果。您可以通过调用上面显示的代码或监控相关的广播意图来检查它(请参阅ConnectivityManager
及其CONNECTIVITY_ACTION
或WifiManager
及其WIFI_STATE_CHANGED_ACTION
或{{1} })。
我想我需要调用startActivityForResult方法,但不知道我该怎么做?
该活动不支持NETWORK_STATE_CHANGED_ACTION
。