FAQ_2009.pdf

preview
需积分: 0 7 下载量 152 浏览量 更新于2010-07-01 收藏 1.29MB PDF 举报
### MTK FAQ知识点详解 #### 一、电话本(PhoneBook) **1.1.1 电话本name长度如何从30 修改为60** 在MTK平台中,默认情况下电话本中的联系人名称长度限制为30个字符。如果希望扩展此限制至60个字符,则需要对底层代码进行相应的修改。这通常涉及到对电话本存储结构以及显示逻辑的调整。开发者可以通过修改相关的源代码来实现这一功能,具体步骤包括: - 查找负责管理电话本联系人信息的数据结构。 - 修改该结构中的字段长度,并相应地更新所有与之交互的代码模块。 - 测试更改后的功能,确保没有引入其他问题。 **1.1.2 如何添加紧急号码?** 紧急号码的添加通常由操作系统内置支持,但在某些情况下,开发者可能需要自定义紧急号码列表。对于MTK平台而言,可以通过以下方式实现: - 定义一个包含紧急号码的数组或列表。 - 在拨号程序中增加特殊逻辑,当检测到用户尝试拨打列表中的号码时,自动执行紧急呼叫流程。 - 确保系统在没有SIM卡的情况下也能拨打这些紧急号码。 **1.1.3 如何使得在通话记录条数为20 时能够将相同号码分开显示?** 当通话记录达到一定数量时,相同号码的多次通话可能会被合并显示。为了使这些记录分开显示,需要修改通话记录的存储和显示逻辑: - 在记录通话时,为每次通话分配唯一的标识符。 - 当显示通话记录时,根据该标识符区分每一次通话,即使号码相同也会分开显示。 - 更新UI展示逻辑,确保正确显示这些信息。 **1.1.4 在手机上存SOS Numeber,为什么存入5 个不同的default 值显示均为第一个?** 此问题可能是因为系统的默认设置覆盖了自定义的SOS号码。解决办法是: - 确认SOS号码存储的逻辑是否正确实现了。 - 检查是否有系统级别的默认设置覆盖了自定义设置。 - 如果有默认覆盖机制,需要在代码层面禁用它。 **1.1.5 如何增加电话薄数目?** 默认情况下,MTK平台限制了电话本的最大存储量。增加电话本容量可以通过以下途径实现: - 分析并找到限制电话本大小的相关配置或代码。 - 修改配置文件或重新编写代码来提高电话本的最大容量。 - 进行彻底测试,确保改动不会导致性能问题或其他不稳定因素。 **1.1.6 在拔打电话或来电时,在号码匹配时,软件仅做了号码后面7 位数字的匹配,如何修改?** 号码匹配的逻辑通常是由系统底层代码实现的。若要改变匹配规则,需要深入研究并修改相关代码: - 查找处理电话号码的模块。 - 更改号码比较算法,使其不仅仅比较最后7位数字。 - 重新编译并测试整个拨号过程,确保更改后的功能正常运作。 #### 二、输入法(Imput Method) **1.2.1 怎样在同一工程中使用不同Size的汉字?** 在MTK平台上,支持多种字体大小是非常重要的。要实现在同一项目中使用不同大小的汉字,可以采取以下步骤: - 准备不同大小的字体文件。 - 修改项目的字体配置文件,支持加载多种字体大小。 - 在需要显示文本的地方动态地选择合适的字体大小进行渲染。 **1.2.2 多语言混合显示时,出现某种语言显示位置偏高或偏低。** 在多语言环境中,不同语言的文字高度和宽度可能会有所不同,导致显示位置不一致。解决方法包括: - 为每种语言指定特定的行距和字间距。 - 使用布局引擎来自动调整文字的位置,以适应不同语言的特点。 - 在设计UI时考虑到多语言兼容性,使用更加灵活的布局策略。 **1.2.3 ZI V7 无法出现候选字或者候选字错乱** ZI V7输入法在某些情况下可能会遇到候选字显示异常的问题。解决这个问题可以通过以下几种方式: - 检查输入法的配置文件,确认是否正确配置了候选字选项。 - 更新输入法版本到最新,看是否修复了已知的问题。 - 如果问题仍然存在,考虑寻找替代方案或寻求技术支持的帮助。 **1.2.4 同一个工程上加多个中文字库** 在MTK平台上,为了支持更多的汉字,可以在同一个项目中加入多个中文字库。实现方法如下: - 收集所需的字库文件。 - 将这些字库文件集成到项目中。 - 在代码中添加逻辑,根据需要动态加载相应的字库。 **1.2.5 T9 输入法中“*”键和“#”键功能的两种表现形势** T9输入法中,“*”键和“#”键的功能可以根据需求定制。常见的实现方式包括: - 将“*”键设置为切换输入模式,如英文和数字之间的切换。 - 将“#”键设置为删除最后一个字符。 - 开发者可以根据实际需求调整这两个按键的功能。 **1.2.6 08A0812 前版本zi 笔画输入法输入0 键输出空格** 早期版本的zi笔画输入法中,按下0键可能会导致输出空格字符。解决这个问题可以通过: - 更新输入法到最新版本,查看是否修复了这个问题。 - 如果问题依然存在,可以通过修改输入法代码来移除或替换0键的行为。 **1.2.7 自己绘制拨号字体 BMP,用 MCT tool 转换成 BDF 的方法。** 为了自定义拨号界面的字体,开发者可以通过以下步骤实现: - 使用图像处理软件绘制拨号字体的位图(BMP)文件。 - 使用MTK提供的MCT工具将BMP文件转换为BDF格式。 - 将转换后的BDF文件集成到项目中,并在代码中引用这些字体文件。 #### 三、AT命令(AT Command) **1.3.1 为何在无卡时拨打紧急号码后,发送AT+CLCC 会返回错误?** 在没有SIM卡的情况下拨打紧急号码后,发送AT+CLCC命令可能会因为系统未能正确识别当前状态而返回错误。解决方法包括: - 确认AT命令发送的时机是否正确。 - 检查系统中是否有关于无SIM卡状态下处理紧急呼叫的特别处理机制。 - 修改代码以适应这种特殊情况。 **1.3.2 AT Command 无回显。** 如果在发送AT命令时没有收到任何回应,可能是因为响应超时或命令未被正确接收。解决方法包括: - 检查命令是否正确输入。 - 确认设备是否处于正常工作状态。 - 增加等待时间,确保命令能够被完整接收。 **1.3.3 在设置编码格式为UCS2 时,使用AT+cusd=1,"*100#"返回error** 在使用UCS2编码格式下,发送某些AT命令可能会返回错误。为了解决这个问题,可以尝试以下方法: - 确认命令格式是否正确。 - 更新固件版本,看是否修复了已知的问题。 - 检查网络连接状态,确保命令能够正常发送。 #### 四、非易失性随机存取内存(NVRAM) **1.4.1 非mmi task 中读NVRAM。** 在非MMI任务中读取NVRAM通常是不允许的,但有时为了特殊目的需要实现。解决方法包括: - 确认是否有专门的API接口供非MMI任务访问NVRAM。 - 如果没有现成的接口,可以通过创建一个新的MMI任务来间接读取NVRAM中的数据。 - 考虑设计一个安全的解决方案,避免不当访问带来的风险。 **1.4.2 连续调用ReadRecord 读取NVRAM 的数据出错的原因。** 连续调用ReadRecord函数读取NVRAM数据可能会导致错误,原因可能包括: - 读取频率过高导致数据冲突。 - 未正确释放资源,导致内存泄漏。 - 数据读取逻辑存在缺陷,需要仔细检查。 **1.4.3 修改NVRAM,不升级 Bin,清除用户记录且保留Calibration Data ,IMEI 等数据。** 在不升级Bin文件的情况下修改NVRAM,同时保留部分关键数据(如校准数据和IMEI等),可以通过以下步骤实现: - 备份NVRAM中需要保留的数据。 - 对NVRAM进行必要的修改。 - 在修改完成后恢复备份的数据。 #### 五、呼叫相关(Call related) **1.5.1 是否可以客制化拒接电话的原因?** 在MTK平台上,可以实现对拒接电话原因的客制化。这需要通过修改代码来实现: - 定义一个列表或数组,用于存储不同的拒接原因。 - 在拒接电话时,让用户选择对应的拒接原因。 - 将用户的选择保存下来,以便后续查看。 **1.5.2 呼叫转移icon 不显示。** 如果呼叫转移图标没有显示出来,可能是由于以下原因: - 设置菜单中未启用呼叫转移功能。 - UI显示逻辑存在问题。 - 解决方法包括检查设置菜单的配置项,以及检查UI显示逻辑。 **1.5.3 手机中嵌入一些默认的快速拨号号码。** 在MTK平台上,可以通过以下方式实现预设快速拨号号码: - 创建一个包含预设号码的列表。 - 在拨号界面上提供快捷方式,使用户可以直接拨打这些号码。 - 可以允许用户自定义添加或删除这些号码。 **1.5.4 有时候电话已经被挂断,但是手机还去进行attach user connection** 在某些情况下,电话挂断后系统可能仍然尝试建立连接。解决方法包括: - 检查挂断电话后的处理逻辑,确保所有连接都被正确关闭。 - 更新系统固件,查看是否修复了此问题。 **1.5.5 为何使用ATD 命令拨打电话失败?** 使用ATD命令拨打电话失败可能的原因包括: - 命令格式错误。 - 网络连接问题。 - 解决方法包括检查命令格式,以及确保设备处于良好的网络环境。 **1.5.6 UCM 的作用。** UCM(User Control Manager)的作用是管理用户的操作和设备的状态。在MTK平台上,它可以用来: - 控制呼叫的建立和结束。 - 监控用户的操作行为。 - 实现各种高级呼叫管理功能。 **1.5.7 在MT call setup 时,可以选择answer 或reflect,其中 reflect 是什么功能?** 在MT call setup过程中,选择"reflect"通常表示反射呼叫,即接收到的呼叫将被重新路由到另一个目的地。这个功能可以用于: - 转移来电到另一个号码。 - 实现更复杂的呼叫处理逻辑。 **1.5.8 如何将USSD 字串*n(n 表示1-9)作为拨号号码。** 要将USSD字符串作为拨号号码,可以按照以下步骤实现: - 在拨号界面上输入USSD字符串。 - 确认输入后,系统会自动解析该字符串并发起USSD请求。 - 如果需要自定义输入逻辑,可以通过修改拨号界面的代码来实现。 #### 六、短消息(SMS) **1.6.1 短信编辑中插入图片,内容都是第一张图片。** 在短信编辑过程中插入图片时,只显示第一张图片的问题可能是因为: - 图片加载逻辑存在问题。 - 解决方法包括检查图片加载的实现代码,确保能够正确处理多张图片。 以上就是针对MTK FAQ文档中的各个知识点进行的详细解释和说明,希望能帮助开发者更好地理解和解决问题。