找了一找,显示信号对应的图片是:
stat_sys_signal_null.png
查找一下这个图片在其它地方有没有:
1 |
root@i3:~ # cd frameworks/ |
2 |
root@i3:frameworks # find -name stat_sys_signal_null.png |
3 |
./base/docs/html/images/icon_design/stat_sys_signal_null.png |
4 |
./base/core/res/res/drawable-mdpi/stat_sys_signal_null.png |
5 |
./base/core/res/res/drawable-hdpi/stat_sys_signal_null.png |
再找找哪里用到了这个图片:
1 |
root@i3:frameworks # grep -r stat_sys_signal_null ./ |
2 |
./base/services/java/com/android/server/status/StatusBarPolicy.java: null, com.android.internal.R.drawable.stat_sys_signal_null, 0, 0); |
3 |
./base/services/java/com/android/server/status/StatusBarPolicy.java: mPhoneData.iconId = com.android.internal.R.drawable.stat_sys_signal_null; |
找到了两处,其实是同一个文件,打开来看看吧:
01 |
private void updateSignalStrength() { |
02 |
int iconLevel = - 1 ; |
03 |
int [] iconList; |
04 |
05 |
// Display signal strength while in "emergency calls only" mode |
06 |
if (!hasService() && !mServiceState.isEmergencyOnly()) { |
07 |
//Slog.d(TAG, "updateSignalStrength: no service"); |
08 |
if (Settings.System.getInt(mContext.getContentResolver(), |
09 |
Settings.System.AIRPLANE_MODE_ON, 0 ) == 1 ) { |
10 |
mPhoneData.iconId = com.android.internal.R.drawable.stat_sys_signal_flightmode; |
11 |
} else if ( mModemPowerState == ModemPowerTracker.PowerState.TURNED_ON ) { |
12 |
mPhoneData.iconId = com.android.internal.R.drawable.stat_sys_signal_init; |
13 |
} else { |
14 |
mPhoneData.iconId = com.android.internal.R.drawable.stat_sys_signal_null; |
15 |
} |
16 |
mService.updateIcon(mPhoneIcon, mPhoneData, null ); |
17 |
return ; |
18 |
} |
这处代码看起来像是3G信号。
1 |
// phone_signal |
2 |
mPhone = (TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE); |
3 |
mPhoneData = IconData.makeIcon( "phone_signal" , |
4 |
null , com.android.internal.R.drawable.stat_sys_signal_null, 0 , 0 ); |
5 |
mPhoneIcon = service.addIcon(mPhoneData, null ); |
这个应该是电话信号了。