ubuntu 在 R40e 上 還有 Debian 在 Sempron 2600 上

2012年1月10日 星期二

android code trace : gsm service

base/telephony/java/android/telephony/ServiceState.java 是 3G Modem 的狀態。
用來表示 3G Service State。

因為 3G State 不是單純的 OK, fail。
所以些class 來存放 Service state。

ServiceState 裡面包含的資料有: private int mState = STATE_OUT_OF_SERVICE; private boolean mRoaming; private String mOperatorAlphaLong; private String mOperatorAlphaShort; private String mOperatorNumeric; private boolean mIsManualNetworkSelection; private boolean mIsEmergencyOnly; //***** CDMA private int mRadioTechnology; private boolean mCssIndicator; private int mNetworkId; private int mSystemId; private int mCdmaRoamingIndicator; private int mCdmaDefaultRoamingIndicator; private int mCdmaEriIconIndex; private int mCdmaEriIconMode; System Setting 和 Status 的大部分資料都是從 SeviceState 這個 object 來的。

在 TelephonyRegistry.java : 有一堆 BroadcastXXXChange(xxx)。
這些 function 都會 呼嘯 fillInNotifierBundle( ),把 Bundle 放到 intent 的 extra,然後再 broadcast 。

以 ServiceStateChanged( ) 來看。
notifyServiceState broadcastServiceStateChanged

沒有留言:

標籤

網誌存檔