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));
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值