MyPhoneStateListener MyListener;
/**
* 设置信号强度
*/
private void setSignalStrengths() {
MyListener = new MyPhoneStateListener();
Tel = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
if (Tel.getSimState() != TelephonyManager.SIM_STATE_ABSENT) {
Tel.listen(MyListener, PhoneStateListener.LISTEN_SIGNAL_STRENGTHS);
iv_e_icon.setVisibility(View.VISIBLE);
} else {
iv_e_icon.setVisibility(View.INVISIBLE);
}
}
private class MyPhoneStateListener extends PhoneStateListener {
@Override
public void onSignalStrengthsChanged(SignalStrength signalStrength) {
super.onSignalStrengthsChanged(signalStrength);
int strengh = signalStrength.getGsmSignalStrength();
int dbm = -113 + 2 * strengh;
System.out.println("手机信号强度:"+dbm);
}
}
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />