I'm currently detecting the technology my phone is connected to using, within a onSignalStrengthsChanged(SignalStrength signalStrength)
, this code :
int networkType = telephonyManager.getNetworkType();
switch (networkType) {
case TelephonyManager.NETWORK_TYPE_UMTS:
return "3G-UMTS";
case TelephonyManager.NETWORK_TYPE_EVDO_0:
return "3G-EVDO_0";
case TelephonyManager.NETWORK_TYPE_EVDO_A:
return "3G-EVDO_A";
case TelephonyManager.NETWORK_TYPE_HSDPA:
return "3G-HSDPA";
case TelephonyManager.NETWORK_TYPE_HSUPA:
return "3G-HSUPA";
case TelephonyManager.NETWORK_TYPE_HSPA:
return "3G-HSPA";
case TelephonyManager.NETWORK_TYPE_EVDO_B:
return "3G-EVDO_B";
case TelephonyManager.NETWORK_TYPE_EHRPD:
return "3G-EHRPD";
case TelephonyManager.NETWORK_TYPE_HSPAP:
return "3G-HSPAP";
default:
return "Unknown";
}
but once this verification is done, how do I manage to get the signal strength ? I need to get the value (DBM or RSSI) only when the phone is under a 3G network. Thanks