1、近日,查看测试提出的bug时,发现了一个问题,设备在未安装sim卡时,状态栏中不显示无sim卡的图标。
2、解决
路径:****\frameworks\base\packages\SystemUI\src\com\android\systemui\statusbar\phone\StatusBarSignalPolicy.java
在StatusBarSignalPolicy.java中,找到setNoSims方法,发现该方法是空的,并未实现功能。如下图,解决该问题,
@Override
public void setNoSims(boolean show, boolean simDetected) {
// Noop yay!
if (show && !simDetected) {
mIconController.setIcon(mSlotMobile, R.drawable.stat_sys_no_sims, "no_sim");
mIconController.setIconVisibility(mSlotMobile, true);
} else {
mIconController.setIconVisibility(mSlotMobile, false);
}
}
3、在SystemUI目录下的res/drawable中添加stat_sys_no_sims.xml文件,内容如下:
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="17dp"
android:height="17dp"
android:viewportWidth="18.4"
android:viewportHeight="18.4">
<group
android:translateX="0.7"
android:translateY="1.0">
<path
android:pathData="M13.91,11.84L5.14,3.08l1.81,-1.81h5.41c0.85,0 1.54,0.69 1.54,1.54l0.01,9.03zM15.06,14.95L2.54,2.44c-0.28,-0.28 -0.71,-0.28 -0.99,0s-0.28,0.71 0,0.98l1.53,1.53v8.67c0,0.85 0.69,1.54 1.54,1.54h7.74c0.27,0 0.52,-0.07 0.74,-0.2l0.96,0.96c0.28,0.28 0.71,0.28 0.99,0 0.28,-0.26 0.28,-0.69 0.01,-0.97z"
android:fillColor="#ffffff"/>
</group>
</vector>