关于java.net.UnknownHostException大家也许都比较熟悉,今天我来整理一下关于java.net.UnknownHostException的各种处理办法:
1、在Android项目中的AndroidManifest.xml中添加访问网络的权限:<uses-permission android:name="android.permission.INTERNET"/>;
2、访问网站已经倒闭/关闭或者不存在,可以在浏览器中验证一下;
3、无法解析该域名,可以将域名对应的ip写入到hosts文件中保存。
windows的hosts文件在“c:\windows\system32\drivers\etc”中。
Linux更改hosts的操作如下:
cd /etc/
vi hosts
输入:
211.151.71.11 www.xxxx.com
4、还有一种问题是手机网络设置的问题,遇到这种问题可以更换下手机网络设置改为3gnet或者其他的网络。
下面是一个检测网络类型的程序,可供大家来检测手机网络类型(也可以在手机中设置中直接查看):
- public String NetType(Context context) {
- try {
- ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
- NetworkInfo info = cm.getActiveNetworkInfo();
- String typeName = info.getTypeName().toLowerCase(); // WIFI/MOBILE
- if (typeName.equalsIgnoreCase("wifi")) {
- } else {
- typeName = info.getExtraInfo().toLowerCase();
- // 3gnet/3gwap/uninet/uniwap/cmnet/cmwap/ctnet/ctwap
- }
- return typeName;
- } catch (Exception e) {
- return null;
- }
- }
也有可能是虚拟机的问题, 实在不行换手机测试试试
来源:CSDN
作者:胡小牧
链接:https://blog.csdn.net/qq_33210042/article/details/79414226