检测Android上是否有可用的Internet连接我需要检测一下Android设备是否连接到互联网上。这个NetworkInfo类提供非静态方法。isAvailable()听起来很完美。问题是:NetworkInfo ni = new NetworkInfo();if (!ni.isAvailable()) {
// do something}抛出此错误:The constructor NetworkInfo is not visible.可以肯定的是,还有另一个类返回NetworkInfo对象。但我不知道是哪一个。如何使上述代码片段工作?我怎么能在网上文档中找到我所需要的信息呢?你能为这种类型的检测提出更好的方法吗?
3 回答
互换的青春
TA贡献1797条经验 获得超6个赞
getActiveNetworkInfo()ConnectivityManagerNetworkInfonullnull
private boolean isNetworkAvailable() {
ConnectivityManager connectivityManager
= (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
return activeNetworkInfo != null && activeNetworkInfo.isConnected();}<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
编辑:
红颜莎娜
TA贡献1842条经验 获得超13个赞
private boolean haveNetworkConnection() {
boolean haveConnectedWifi = false;
boolean haveConnectedMobile = false;
ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo[] netInfo = cm.getAllNetworkInfo();
for (NetworkInfo ni : netInfo) {
if (ni.getTypeName().equalsIgnoreCase("WIFI"))
if (ni.isConnected())
haveConnectedWifi = true;
if (ni.getTypeName().equalsIgnoreCase("MOBILE"))
if (ni.isConnected())
haveConnectedMobile = true;
}
return haveConnectedWifi || haveConnectedMobile;}添加回答
举报
0/150
提交
取消
