關於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;
- }
- }
好了,這些是我目前所總結的一些java.net.UnknownHostException的處理辦法,如果大家有更多更好的處理辦法,歡迎留言,謝謝。