L上launcher菜单中一直显示的是 StkMain 这个activity对应的string和label。并不是StkSelection。
要想修改成只有插入的卡支持SAT应用时launcher菜单中才显示SAT应用的图标,则:
1. 先将 alps\vendor\mediatek\proprietary\packages\apps\Stk1下对应 (比如:单卡对应的xml文件在 single子目录下) 的AndroidManifest.xml中的 StkMain和 StkLauncherActivity 的声明都注释掉。
2. 然后,在该 xml 文件中增加StkLauncherActivityI/StkLauncherActivityII/StkLauncherActivityIII/StkLauncherActivityIV 的声明。具体请参考 alps\vendor\...\stk1\cu\AndroidManifest.xml 文件中 StkLauncherActivityI/StkLauncherActivityII/StkLauncherActivityIII/StkLauncherActivityIV来实现即可。
PS:桌面上的图标位置定制:
vendor/huaqin/3rdPart/al813_l01_mena/platform/data/cust/xml/hw_launcher_default_workspace.xml
2,应用名称图标和名称的定制:
ComponentInfo
public CharSequence loadLabel(PackageManager pm) {
int mSlotId = PhoneNumberUtils.getSlotId();
String stkName = getSimLable(mSlotId);
boolean isTwoSim = PhoneNumberUtils.hasIccCard(0) && PhoneNumberUtils.hasIccCard(1);
Log.e("stk_lipeng","stkName==>"+"|"+stkName+"|");
if( !isTwoSim && packageName.equalsIgnoreCase("com.android.stk")
&& (stkName != null&& stkName.length()>0) )
{
return stkName;
}
.....................................
public static String getSimLable(int SlotId){
StringBuilder suffix = new StringBuilder();
suffix.append("gsm.stkapp.name");
int mSlotId = SlotId;
//int mSlotId = PhoneNumberUtils.getSlotId();
if( mSlotId == 1 ){
suffix.append("2");//gsm.stkapp.name2
}
String stk = SystemProperties.get(suffix.toString());
String pMccMnc = PhoneNumberUtils.getSimMccMnc(mSlotId);
Log.d("stk_lipeng","pMccMnc==>"+"|"+pMccMnc+"|");
String pImsi = PhoneNumberUtils.getDefaultImsi(mSlotId);
String language = Locale.getDefault().getLanguage();
if(SystemProperties.get("ro.hq.stk.name").equals("1")){
//add by lipeng for stk
if("52501".equals(pMccMnc)||"52502".equals(pMccMnc)||"52507".equals(pMccMnc)){
stk = "Singtel Menu";
}
else if("73406".equals(pMccMnc)){
stk = "tu chip";
}
else if("37001".equals(pMccMnc)){
if("es".equals(language) ){
stk = "Servicios Orange";
}else{
stk = "Orange Services";
}
}
else if("33403".equals(pMccMnc)||"334030".equals(pMccMnc)||"70403".equals(pMccMnc)
||"704030".equals(pMccMnc)||"70604".equals(pMccMnc)||"706040".equals(pMccMnc)
||"71030".equals(pMccMnc)||"710300".equals(pMccMnc)||"714020".equals(pMccMnc)
||"71402".equals(pMccMnc)||"73002".equals(pMccMnc)||"72207".equals(pMccMnc)
||"732123".equals(pMccMnc)||"74000".equals(pMccMnc)||"74807".equals(pMccMnc)
||"71606".equals(pMccMnc)||"73404".equals(pMccMnc)||"21407".equals(pMccMnc)
||"21402".equals(pMccMnc)||"71204".equals(pMccMnc)){
stk = "Movistar";
}
else if("70402".equals(pMccMnc)||"70603".equals(pMccMnc)||"70802".equals(pMccMnc)
||"70802".equals(pMccMnc)||"708020".equals(pMccMnc)){
stk = "Menu Tigo";
}
else if("732111".equals(pMccMnc)||"73603".equals(pMccMnc)||"74404".equals(pMccMnc)){
stk = "Mundo Tigo";
}
if("732103".equals(pMccMnc)){
stk = "Mundo Tigo";
}
if(pImsi!=null && pImsi.startsWith("7321030027")||pImsi.startsWith("7321030028")||pImsi.startsWith("7321030029")){
stk = "UNE";
Log.d("stk_lipeng","pMccMnc==7321030027>"+"|"+pMccMnc+"|");
}else if(pImsi!=null && pImsi.startsWith("732103018")||pImsi.startsWith("732103019")||pImsi.startsWith("732103023713")||pImsi.startsWith("732103023714")||pImsi.startsWith("732103023715")||pImsi.startsWith("732103023716")||pImsi.startsWith("732103023717")||pImsi.startsWith("732103023718")||pImsi.startsWith("732103023719")||pImsi.starts