找了一找,显示信号对应的图片是:

stat_sys_signal_null.png

查找一下这个图片在其它地方有没有:

root@i3:~# cd frameworks/

root@i3:frameworks# find -name stat_sys_signal_null.png

./base/docs/html/images/icon_design/stat_sys_signal_null.png

./base/core/res/res/drawable-mdpi/stat_sys_signal_null.png

./base/core/res/res/drawable-hdpi/stat_sys_signal_null.png

再找找哪里用到了这个图片:

root@i3:frameworks# grep -r stat_sys_signal_null ./

./base/services/java/com/android/server/status/StatusBarPolicy.java: null, com.android.internal.R.drawable.stat_sys_signal_null, 0, 0);

./base/services/java/com/android/server/status/StatusBarPolicy.java: mPhoneData.iconId = com.android.internal.R.drawable.stat_sys_signal_null;

找到了两处,其实是同一个文件,打开来看看吧:

private final void updateSignalStrength() {

int iconLevel = -1;

int[] iconList;

// Display signal strength while in "emergency calls only" mode

if (!hasService() && !mServiceState.isEmergencyOnly()) {

//Slog.d(TAG, "updateSignalStrength: no service");

if (Settings.System.getInt(mContext.getContentResolver(),

Settings.System.AIRPLANE_MODE_ON, 0) == 1) {

mPhoneData.iconId = com.android.internal.R.drawable.stat_sys_signal_flightmode;

} else if( mModemPowerState == ModemPowerTracker.PowerState.TURNED_ON ) {

mPhoneData.iconId = com.android.internal.R.drawable.stat_sys_signal_init;

} else {

mPhoneData.iconId = com.android.internal.R.drawable.stat_sys_signal_null;

}

mService.updateIcon(mPhoneIcon, mPhoneData, null);

return;

}

这处代码看起来像是3G信号。

// phone_signal

mPhone = (TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE);

mPhoneData = IconData.makeIcon("phone_signal",

null, com.android.internal.R.drawable.stat_sys_signal_null, 0, 0);

mPhoneIcon = service.addIcon(mPhoneData, null);

这个应该是电话信号了。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐