android - 如何检查 sim / WIFI 互联网可用但无法正常工作。如何验证?在安卓中
问题描述
final ConnectivityManager connMgr = (ConnectivityManager) this .getSystemService(Context.CONNECTIVITY_SERVICE);
final android.net.NetworkInfo wifi = connMgr .getNetworkInfo(ConnectivityManager.TYPE_WIFI);
final android.net.NetworkInfo mobile = connMgr .getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
if (wifi.isAvailable()) {
return true;
}
else if (mobile.isAvailable()) {
return true;
}
else {
return false;
}
解决方案
使用连接管理器
ConnectivityManager conMgr = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
if ( conMgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState() == NetworkInfo.State.CONNECTED
|| conMgr.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState() == NetworkInfo.State.CONNECTED ) {
// you are online
}
else if (
conMgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState() == NetworkInfo.State.DISCONNECTED
|| conMgr.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState() == NetworkInfo.State.DISCONNECTED) {
// you are not online
}
推荐阅读
- django - Django Rest Framework urls.py 搞砸了
- c++ - 二维数组无法正确打印
- angular - 通过在元素查询中包装的文本匹配跨度的正确方法是什么?
- linux - 在精灵二进制中,有没有简单的方法从偏移量获取内存地址?
- firebase - 如何在 React Native Firebase 中发送 ecommerceBundle?
- excel - 在工作表中定位图片
- powerbi - 如何在dax公式中找到计算的人口
- r - fread() 用方括号外的逗号作为分隔符
- android - 延迟 15 秒的 Handler 仅在设备充电时才能正常工作
- java - 如何将 JSON 数组转换为 ArrayList
在 Java 中?