我有这个 Android 应用程序,需要通过互联网从远程服务器加载数据。这种更新功能显然要求设备不仅连接到某种网络,而且还连接到互联网。
所以:想要将更新服务安排在某个日期,当它启动时,它应该确定它是否确实可以到达目标服务器。因此,一个简单的“设备是否已连接到 wifi?”还不够,因为设备可能连接到不提供互联网访问的无线网络。需要诸如 PING 之类的东西...
确定是否有可用的互联网连接(即服务器是否可访问)的最简单/最好的方法是什么?
boolean connected;
ConnectivityManager connectivityManager = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
if(connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState() == NetworkInfo.State.CONNECTED ||
connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState() == NetworkInfo.State.CONNECTED) {
//we are connected to the internet
connected = true;
}
else
connected = false;
添加权限:<uses-permission
android:name="android.permission.ACCESS_NETWORK_STATE" />
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)