当前位置: 代码迷 >> 综合 >> 目前SIM 中FDN 有50 条,而目前只能读出20 条, 要保证50 条都能读出来,该如何修改?
  详细解决方案

目前SIM 中FDN 有50 条,而目前只能读出20 条, 要保证50 条都能读出来,该如何修改?

热度:42   发布时间:2024-01-19 20:56:16.0

 

FDN, Fixed Dialler Number,限定拨号。限制手机只可拨出某些电话号码,开启 FDN 功能时只有已储存在电话簿的电话号码和聚急电话可以拨出;

 

 

1)修改phb_config.h 中FDN_INDEX_MAX_ENTRIES_COUNT 等于50

2)0B 以前的版本MMI 这边修改MAX_SIM_ENTRIES 等于50.

09b 的版本MMI 这边修改SRV_PHB_XMGNT_SIM_ENTRIES 等于50.

 

打开FDN,FDN 来电匹配不上号码(09A 及之前).

需要根据号码匹配长度来修改匹配算法:

1,添加下面的比较函数代码:

/*****************************************************************************

* FUNCTION

* compare_string

* DESCRIPTION

* RETURNS

* result index

*****************************************************************************/

S32 compare_string(const S8 *string1, const S8 *string2) {

U32 compare_len,len1,len2;

compare_len = 10;

len1= strlen(string1);

len2= strlen(string2);

len1=(len1<compare_len?len1:compare_len);

/*----------------------------------------------------------------*/

/* Code Body*/

 

while (len1 > 0)

{

if (string1[len1-1] != string2[len2-1])

{

return string1[len1-1] - string2[len2-1];

}

len1--;

len2--;

if(len2 == 0)

return -1;

}

return 0;

}

2,修改这个函数中的部分代码:mmi_phb_fdn_search_by_number()

.............

else

{

mmi_phb_convert_to_digit_by_store_index(

tempNumber,

PhoneBook[store_index].tel.number,

MAX_PB_NUMBER_LENGTH + 1,

store_index);

}

// 请参考原来的代码修改下面一部分代码

if (!compare_string((S8*) tempNumber, number))

{

return store_index;

}

// 请参考原来的代码修改上面一部分代码

。。。。

 

 

  相关解决方案