關于java.net.UnknownHostException大家也許都比較熟悉,今天我來整理一下關于java.net.UnknownHostException的各種處理辦法:
1、你的電腦或模拟器沒有網絡,請檢查,也有可能是是網絡位址錯誤,網站倒閉或者背景位址失效。
2、java.net.UnknownHostException: Host is unresolved ***.****.*** 80
你若是确定你的網絡權限在配置檔案中寫好,也确定自己的網絡是好的,
3、java.net.UnknownHostException:www.***.com
無法解析域名的錯誤,可以将域名對應的ip寫入到hosts檔案中儲存。
windows的hosts檔案在“c:\windows\system32\drivers\etc”中。
Linux更改hosts的操作如下:
cd /etc/
vi hosts
輸入:
211.151.71.11 www.xxxx.com
4、還有一種問題是手機網絡設定的問題,遇到這種問題可以更換下手機網絡設定改為3gnet或者其他的網絡。
下面是一個檢測網絡類型的程式,可供大家來檢測手機網絡類型(也可以在手機中設定中直接檢視):
[java] view plain copy print ?
- 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;
- }
- }
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;
}
}
好了,這些是我目前所總結的一些java.net.UnknownHostException的處理辦法,如果大家有更多更好的處理辦法,歡迎留言,謝謝。