Kev*_*ave 5 networking android
此代码始终返回true.按下"登录"按钮时会调用此方法.我首先尝试连接wifi(在模拟器上).它返回true然后我断开了wifi然后尝试了.它仍然返回true.
public static boolean isNetworkAvailable( Context context) {
ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = cm.getActiveNetworkInfo();
// if no network is available networkInfo will be null
// otherwise check if we are connected
if (networkInfo != null && networkInfo.isConnected()) {
State network = networkInfo.getState();
Log.d("here", "true");
return (network == NetworkInfo.State.CONNECTED || network == NetworkInfo.State.CONNECTING);
}
Log.d("here1", "false");
return false;
}
Run Code Online (Sandbox Code Playgroud)
323*_*3go 14
这段代码在设备上工作,因为我在我的一个应用程序中使用了非常相似的东西.请记住,此代码将告诉您是否已连接到网络,而不是您连接的网络是否具有Internet连接.如果你正在使用模拟器,它总是通过3G模拟连接,所以断开你的计算机的wifi将不会改变它.您可以将模拟器置于飞行模式,这样可以为您提供所需的"假".
我在我的应用程序中所做的是创建一个接收网络更改广播的服务.一旦网络连接,它就会尝试通过互联网下载已知(小)文件.只有在成功的情况下,它才会向所有活动广播互联网可用的意图,然后可以根据此更改状态.
| 归档时间: |
|
| 查看次数: |
2895 次 |
| 最近记录: |