需要用到的类:
import android.telephony.TelephonyManager;
import android.telephony.PhoneStateListener;
import android.telephony.SignalStrength;
参数:
private TelephonyManager tm = null;
public String strSignalStrength = "";
private MyPhoneStateListener MyListener = null;
tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
MyListener = new MyPhoneStateListener();
tm.listen(MyListener, PhoneStateListener.LISTEN_SIGNAL_STRENGTHS);
int a = tm.getNetworkType(); // editType 是某個EditText控件
if (a == TelephonyManager.NETWORK_TYPE_1xRTT) {
editType.setText("1xRTT");
} else if (a == TelephonyManager.NETWORK_TYPE_CDMA) {
editType.setText("CDMA");
} else if (a == TelephonyManager.NETWORK_TYPE_EDGE) {
editType.setText("EDGE");
} else if (a == TelephonyManager.NETWORK_TYPE_EHRPD) {
editType.setText("EHRPD");
} else if (a == TelephonyManager.NETWORK_TYPE_EVDO_0) {
editType.setText("EVD0_0");
} else if (a == TelephonyManager.NETWORK_TYPE_EVDO_A) {
editType.setText("EVD0_A");
} else if (a == TelephonyManager.NETWORK_TYPE_EVDO_B) {
editType.setText("EVD0_B");
} else if (a == TelephonyManager.NETWORK_TYPE_GPRS) {
editType.setText("GPRS");
} else if (a == TelephonyManager.NETWORK_TYPE_HSDPA) {
editType.setText("HSDPA");
} else if (a == TelephonyManager.NETWORK_TYPE_HSPA) {
editType.setText("HSPA");
} else if (a == TelephonyManager.NETWORK_TYPE_HSPAP) {
editType.setText("HSPAP");
} else if (a == TelephonyManager.NETWORK_TYPE_HSUPA) {
editType.setText("HSUPA");
} else if (a == TelephonyManager.NETWORK_TYPE_IDEN) {
editType.setText("IDEN");
} else if (a == TelephonyManager.NETWORK_TYPE_LTE) {
editType.setText("LTE");
} else if (a == TelephonyManager.NETWORK_TYPE_UMTS) {
editType.setText("UMTS");
}
// else if(a == TelephonyManager.NETWORK_TYPE_UNKNOWN)
// {
//
// }
else {
editType.setText("UNKNOW");
}
private class MyPhoneStateListener extends PhoneStateListener {
public void onSignalStrengthsChanged(SignalStrength signalStrength) {
super.onSignalStrengthsChanged(signalStrength);// 调用超类的该方法,在网络信号变化时得到回答信号
strSignalStrength = "CDMA RSSI = "
+ String.valueOf(signalStrength.getCdmaDbm())
+ "; GSM Cinr = "
+ String.valueOf(signalStrength.getGsmSignalStrength());
}
}