MTK默认对于安装Java midlet的数量是没有上限的,除非system driver空间不够(VM维护的midlet information在system drive:\@java中),或者安装midlet的目标盘空间不够(java midlet的jar是放在目标盘:\@java中),才会在install时报”Not enough memory”的错误。
如果需要控制安装java midlet的总数,可以参考如下方法。该方法以COSMOS项目为例,Pluto可以参考相同的思路。
[SOLUTION]
修改mmi_java_local_install_content_routing(),关注//begin…//end之间的部分。
void mmi_java_local_install_content_routing(U16* file_path)
{
/*----------------------------------------------------------------*/
/* Local Variables*/
/*----------------------------------------------------------------*/
int len;
U16 *jad_file = NULL;
U16 *jar_file = NULL;
kal_int32 error_code = J2ME_NO_ERROR;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
if(g_mmi_java_current_running_cmd != MMI_JAVA_CMD_END)
{
#ifdef __PLUTO_MMI_PACKAGE__
mmi_java_display_is_busy();
#elif __COSMOS_MMI_PACKAGE__
vapp_java_display_popup(STR_ID_VAPP_JAVA_VM_BUSY,VJAVA_POPUP_WARNING,VAPP_JAVA_ENTRY_CLOSE_JAVA_A
PP);
#endif
return;
}
//set max install midlet number in COSMOS
//begin
needToSendGetListReq = MMI_TRUE;
g_java.mids_info_end = g_java.mids_info_start = -1;
g_java.mids_list_filter.filter_type = JAM_NONE_FILTER;
mmi_java_fetch_mids_list(0, (UI_string_type) NULL, (PU8*) NULL, 0);
if(g_java.total_java_app_mids >= 1)//以1为例,该数字为希望预置的最多java midlet数量
{
vapp_java_display_popup(STR_ID_XXX, VJAVA_POPUP_WARNING, VAPP_JAVA_ENTRY_CLOSE_JAVA_APP);
return;//弹出pop框,string内容可自定义。
}
//end
如果需要控制安装java midlet的总数,可以参考如下方法。该方法以COSMOS项目为例,Pluto可以参考相同的思路。
[SOLUTION]
修改mmi_java_local_install_content_routing(),关注//begin…//end之间的部分。
void mmi_java_local_install_content_routing(U16* file_path)
{
/*----------------------------------------------------------------*/
/* Local Variables*/
/*----------------------------------------------------------------*/
int len;
U16 *jad_file = NULL;
U16 *jar_file = NULL;
kal_int32 error_code = J2ME_NO_ERROR;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
if(g_mmi_java_current_running_cmd != MMI_JAVA_CMD_END)
{
#ifdef __PLUTO_MMI_PACKAGE__
mmi_java_display_is_busy();
#elif __COSMOS_MMI_PACKAGE__
vapp_java_display_popup(STR_ID_VAPP_JAVA_VM_BUSY,VJAVA_POPUP_WARNING,VAPP_JAVA_ENTRY_CLOSE_JAVA_A
PP);
#endif
return;
}
//set max install midlet number in COSMOS
//begin
needToSendGetListReq = MMI_TRUE;
g_java.mids_info_end = g_java.mids_info_start = -1;
g_java.mids_list_filter.filter_type = JAM_NONE_FILTER;
mmi_java_fetch_mids_list(0, (UI_string_type) NULL, (PU8*) NULL, 0);
if(g_java.total_java_app_mids >= 1)//以1为例,该数字为希望预置的最多java midlet数量
{
vapp_java_display_popup(STR_ID_XXX, VJAVA_POPUP_WARNING, VAPP_JAVA_ENTRY_CLOSE_JAVA_APP);
return;//弹出pop框,string内容可自定义。
}
//end
MTK JavaMIDlet数量限制
819

被折叠的 条评论
为什么被折叠?



