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

本文详细介绍了限定拨号(FDN)功能的工作原理和技术细节,包括如何配置最大条目数,以及为了解决特定匹配问题而进行的代码修改。通过调整匹配算法,确保了FDN功能能够正确识别预设的电话号码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

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;

}

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

。。。。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值