2011-09-22 13 views

Odpowiedz

4

Inny fragment z aplikacji, którą ostatnio napisałem:

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

Pozwoli to sprawdzić, czy masz połączenie z Internetem (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); 
    } 

Nie zapomnij dodać "ACCESS_NETWORK_STATE" gość w pliku AndroidManifext.xml!

2

najpierw trzeba sprawdzić, czy jest wifi lub sieć komórkowa

niż po prostu zadzwoń

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

nie, że można być na EDGE lub GPRS lub coś, dzięki czemu można również zrobić to

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

Spróbuj rzeczy,

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();} 
     } 
}