2011-09-22 51 views

回答

4

最近我寫過一個應用程序的另一個代碼片段:

TelephonyManager telManager;  
telManager = (TelephonyManager) getApplicationContext().getSystemService(Context.TELEPHONY_SERVICE); 
int cType = telManager.getNetworkType(); 
String cTypeString; 
switch (cType) { 
     case 1: cTypeString = "GPRS"; break; 
     case 2: cTypeString = "EDGE"; break; 
     case 3: cTypeString = "UMTS"; break; 
     case 8: cTypeString = "HSDPA"; break; 
     case 9: cTypeString = "HSUPA"; break; 
     case 10:cTypeString = "HSPA"; break; 
     default:cTypeString = "unknown"; break; 
} 
0

感謝這將檢查,如果你有互聯網連接(3G):

private boolean isNetworkAvailable() { 
    ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); 
    NetworkInfo activeNetworkInfo = connectivityManager 
      .getActiveNetworkInfo(); 
    return activeNetworkInfo != null; 
} 
1
ConnectivityManager connManager = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE); 

    NetworkInfo mMobile = connManager 
      .getNetworkInfo(ConnectivityManager.TYPE_MOBILE); 

    if (mMobile.isAvailable() == true) { 
     Intent otherActivity = new Intent(); 
     mapActivity.setClass(getBaseContext(), other.class); 
     startActivity(otherActivity); 
    } 

不要忘了添加「許可權」權限在AndroidManifext.xml文件中!

2

首先你需要檢查,如果是Wi-Fi或移動網絡

不僅僅是打電話

(TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE)).getNetworkType()); 

不是說你可以在EDGE或GPRS或東西,所以你也可以做到這一點

if (getSsTelephony().getNetworkType() >= TelephonyManager.NETWORK_TYPE_UMTS) 
    return NETWORK_3G; 
3

試試這個東西,

void checkConnectionStatus() 
     { 
     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()){ 
     Toast.makeText(this, "Wifi" , Toast.LENGTH_LONG).show(); 
     } 
     else if(mobile.isAvailable()){ 
     Toast.makeText(this, "Mobile 3G " , Toast.LENGTH_LONG).show(); 
     } 
     else 
     {Toast.makeText(this, "No Network " , Toast.LENGTH_LONG).show();} 
     } 
} 
相關問題