Я использовал следующий код, чтобы определить, какую сеть использует устройство:
TelephonyManager tempManager;
tempManager= (TelephonyManager)myContext.getSystemService(Context.TELEPHONY_SERVICE);
int result = 0;
if(tempManager != null && tempManager.getNetworkType() == TelephonyManager.NETWORK_TYPE_UMTS) //do we have a UMTS connection ?
{
result = 2;
}
else if(tempManager != null && tempManager.getNetworkType() == TelephonyManager.NETWORK_TYPE_GPRS) //or is it just a shabby 2g connection ?
{
result = 1;
}
else if(tempManager != null && tempManager.getNetworkType() == TelephonyManager.NETWORK_TYPE_UNKNOWN) //or is it just a shabby 2g connection ?
{
result = 4;
}
return result;
Это работает довольно хорошо, если я не подключусь к HSDPA, в этом случае он всегда будет возвращать 0 в результате, что в моем случае заставляет мое программное обеспечение думать, что оно вообще не имеет соединения: (
Любой, кто знает, что происходит, имеет некоторый опыт в этом отношении и, самое главное, имеет какое-то решение этой проблемы ???
Заранее спасибо