歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Android網絡連接Wifi和cmnet及cmwap的問題

某些Wifi連接,有時候出現100-continue的錯誤,apache http client說什麼協議錯誤,解決辦法:

Java代碼  
  1. //關閉Expect:100-Continue握手  
  2. //100-Continue握手需謹慎使用,因為遇到不支持HTTP/1.1協議的服務器或者代理時會引起問題  
  3. httppost.getParams().setBooleanParameter(CoreProtocolPNames.USE_EXPECT_CONTINUE, false);  

使用cmwap上網,cmwap本質是使用代理上網,用httpclient,很簡單,如下:

Java代碼  
  1. HttpHost proxy = new HttpHost("10.0.0.172"80);//設置cmwap代理  
  2. httpclient.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, proxy);  

 如果檢測呢,以下代碼可以檢測當前移動網絡的apn代理情況。

Java代碼  
  1. ConnectivityManager connectivity = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);  
  2.             if (connectivity != null) {   
  3.                 // 獲取網絡連接管理的對象  
  4.                 NetworkInfo info = connectivity.getActiveNetworkInfo();  
  5.   
  6.                 if (info != null && info.isConnected()) {  
  7.                     // 判斷當前網絡是否已經連接  
  8.                     if (info.getState() == NetworkInfo.State.CONNECTED) {  
  9.                         if(info.getTypeName().equals("WIFI")){  
  10.                                
  11.                         else{   
  12.                             Uri uri = Uri.parse("content://telephony/carriers/preferapn");  
  13.                             Cursor cr = context.getContentResolver().query(uri, null,nullnullnull);  
  14.                             while (cr != null && cr.moveToNext()) {  
  15.                                   // APN id  
  16.                                   @SuppressWarnings("unused")  
  17.                                   String id = cr.getString(cr.getColumnIndex("_id"));  
  18.                                   // APN name  
  19.                                   @SuppressWarnings("unused")  
  20.                                   String apn = cr.getString(cr.getColumnIndex("apn"));  
  21.                                   // do other things...  
  22.                                   String strProxy = cr.getString(cr.getColumnIndex("proxy"));  
  23.                                   String strPort = cr.getString(cr.getColumnIndex("port"));  
  24.                                   if(strProxy != null && !"".equals(strProxy)){  
  25.                                       Config.host = strProxy;  
  26.                                       Config.port = Integer.valueOf(strPort);  
  27.                                   }  
  28.                                     
  29.                              }  
  30.                         }   
  31.                     }  
  32.                 }   

現在很完美了,程序可以在cmnet,cmwap,以及wifi下完美運行。

Copyright © Linux教程網 All Rights Reserved