我写了一段Android代码,注册了PhoneStateListener
和。{
当有变化时,报告GSM信号强度值
onSignalStrengthsChanged
回调。一切正常,但我想拥有
第一次改变之前的初始信号强度发生..有没有办法
在onCreate
方法结束之前找出GSM信号强度
(参见代码末尾的注释行)?
这是我的代码:
public class MainActivity extends Activity {
private int mStrength;
private PhoneStateListener phoneStateListener;
private TelephonyManager telephonyManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
phoneStateListener = new PhoneStateListener() {
@Override
public void onSignalStrengthsChanged(SignalStrength signalStrength){
super.onSignalStrengthsChanged(signalStrength);
int currStrength = signalStrength.getGsmSignalStrength();
mStrength = currStrength;
Toast.makeText(getApplicationContext(),
"signal:" + String.valueOf(mStrength),
Toast.LENGTH_SHORT).show();
}
};
telephonyManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
telephonyManager.listen(phoneStateListener,
PhoneStateListener.LISTEN_SIGNAL_STRENGTHS);
// What is value of GSM signal here? ...
// Log.d("SignalStrength:", "??");
}
}