標籤:android ar sp on bs ef as tt ui
如何設定在AP介面上,可以顯示小區廣播預設選擇的語言
1、整個系統最多可支援30種小區廣播語言。即使SIM卡或NVRAM裡面沒有預先配置小區廣播的語言(DCS),我們系統裡也會預設有支援20種小區廣播的語言。它們的順序分別是,並且根據ISO639標準,可以知道它們所代表的語言。
{
de: 德語
en: 英語
it: 意大利語
fr: 法語
es: 西班牙語
nl: 荷蘭語
sv: 瑞典語
da: 丹麥語
pt: 葡萄牙語
fi: 芬蘭語
no: 挪威語
el: 現代希臘語
tr: 土耳其語
hu: 匈牙利語
pl: 波蘭語
cs: 捷克語
he: 希伯來語
ar: 阿拉伯語
ru: 俄語
is: 冰島語
}
2、設定這些語言預設是開還是關。
修改NVRAM_EF_CB_CH_INFO_LID的預設值,在Nvram_data_items.c (custom\service\nvram)的COMMON_NVRAM_EF_CB_CH_INFO_DEFAULT[]中。
其中,dcs_mask有32個bit,前30個bit有意義,每個bit對應一個語言的設定,0表示關,1表示開。
舉個例子,如果想設定,預設只開啟西班牙語,由於西班牙語對應的是第5個bit,因此可以這樣設定:
static kal_uint8 const COMMON_NVRAM_EF_CB_CH_INFO_DEFAULT[] =
{
......
0x08 /*00001000 */, 0x00, 0x00, 0x00, /* dcs_mask, default all dcs turn on */
......
}
3、把支援所有語言的開關設定為關閉
修改NVRAM_EF_SMSAL_COMMON_PARAM_LID的預設值,在Nvram_data_items.c (custom\service\nvram)COMMON_NVRAM_EF_SMSAL_COMMON_PARAM_DEFAULT[]中。
其中,CB setting,第一個位元組表示小區廣播是否開,第二個位元組表示小區廣播是否支援所有語言。如果要關掉支援所有語言,請按如下設定:
kal_uint8 const COMMON_NVRAM_EF_SMSAL_COMMON_PARAM_DEFAULT[] =
{
......
0x01, 0x00, /* CB setting - ON */
/* CB Status: ON, All Language: OFF*/
......
};
4、把上述兩個LID,NVRAM_EF_SMSAL_COMMON_PARAM_LID和NVRAM_EF_CB_CH_INFO_LID,所定義的VERNO值增加一,從而保證版本升級後,修改可以被更新。
可參考如下例子:
Nvram_editor_data_item.h (interface\service\nvram)
#define NVRAM_EF_SMSAL_COMMON_PARAM_LID_VERNO "002"
#define NVRAM_EF_CB_CH_INFO_LID_VERNO "002"
// 在上述例子中,就是把原來的"002"改成 "003"。
5、申請patch,開啟宏__SMS_SIM_DCS_DEFAULT_OFF__,使手機不去讀取SIM卡讀取語言。避免更換過SIM卡,或者SIM卡中存在語言,導致上述的設定失效。
android 如何設定小區廣播的預設語言