`
yidongkaifa
  • 浏览: 4052032 次
文章分类
社区版块
存档分类
最新评论

Aplix VM安装Java应用在main menu上不能显示自己的图标,而是显示一朵小花的解决方法

 
阅读更多
1、mmi_java_recv_mids_install_cnf中会将VM准备好的应用基本信息赋给变量record,最终写入z:\@Java\JavaAppFactory\java.storage_name。
2、但是上述函数在组合record.storage_name时,把mids_version(1.0.0)和mids_storage_id(0)重叠赋给了record.storage_name。
使得record.storage_name变成了(0.0.0)。
memcpy(record.storage_name,msg->mids_version, (strlen(msg->mids_version) > MIDLET_VERSION_LEN ? MIDLET_VERSION_LEN-1:strlen(msg->mids_version)));
memcpy(record.storage_name,msg->mids_storage_id, strlen(msg->mids_storage_id));
3、在srv_java_appfactory_add_record生成的文件名变成了z:\@Java\JavaAppFactory\java.0.0.0,而不是预期中的z:\@Java\JavaAppFactory\java.0。
4、因此当main menu尝试用srv_java_appfactory_get_image获取icon时,根本找不到z:\@Java\0.0.0.icon(正确文件是z:\@Java\0.icon),于是显示一朵小花。
[对比]
之所以Rolltech没有这个问题,是因为NEMO VM的storage name是类似J0000001(8个字符)的格式,第二次memcpy用正确的mids_storage_id字段覆盖了mids_version字段。

mmi_java_recv_mids_install_cnf中删掉memcpy mids_version。
memcpy(record.storage_name,msg->mids_version, (strlen(msg->mids_version) > MIDLET_VERSION_LEN ? MIDLET_VERSION_LEN-1:strlen(msg->mids_version)));
memcpy(record.storage_name,msg->mids_storage_id, strlen(msg->mids_storage_id));
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics