CN101754356A - 移动终端及其动态应用的管理方法 - Google Patents
移动终端及其动态应用的管理方法 Download PDFInfo
- Publication number
- CN101754356A CN101754356A CN201010000339A CN201010000339A CN101754356A CN 101754356 A CN101754356 A CN 101754356A CN 201010000339 A CN201010000339 A CN 201010000339A CN 201010000339 A CN201010000339 A CN 201010000339A CN 101754356 A CN101754356 A CN 101754356A
- Authority
- CN
- China
- Prior art keywords
- application
- dynamic
- function
- dynamic application
- general
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种移动终端及其动态应用的管理方法,其中,方法包括:动态管理系统向应用管理模块注册动态应用,并指定动态应用的注册函数为通用注册函数,其中,通用注册函数预先保存在动态管理系统的管理模块中;应用管理模块根据接收到的通过用户操作所生成的操作指令调用指定的通用注册函数;管理模块中的通用注册函数对动态应用进行相应的操作。本发明能够使得动态应用与静态应用的管理与调度机制完全一致,由应用管理模块统一管理,无需分开管理,既方便了应用的管理,又方便了应用的开发以及静态应用与动态应用的互相转换。
Description
技术领域
本发明涉及通信领域,具体而言,涉及一种移动终端及其动态应用的管理方法。
背景技术
随着科学技术的发展,人们对手机的需求呈现PC化驱势,所需的应用程序越来越多。目前智能手机基本都实现了动态加载技术,类似于PC上的动态链接库(如windows系统下的动态链接库)或者动态共享文件(如linux系统下的动态共享文件),可动态加载应用。
由于动态加载技术不仅可以提高软件开发效率,按需加载节省硬件资源,而且也满足了电信运营商不断扩展附加增值业务和手机用户随时下载使用新功能的需求,目前手机应用程序已经发展了数年时间,苹果面向iPhone和iPod Touch的App Store的成功进一步推进了手机动态应用软件的受关注度,仅仅6个多月的时间,苹果的App Store中的软件下载量就超过5亿次,动态应用种类超过15000种。iPhone手机+App Store的商务模式等使苹果获利不菲。当前众多终端厂商在智能机上掀起的手机动态程序应用商店已取得的成就及竞争的激烈程序足以说明手机终端+动态应用模式的发展趋势。因此在非智能手机中实现动态加载技术、添加动态应用是其发展的一个必然趋势。
目前的移动终端的静态应用管理方法是:在系统初始化时,注册所有的静态应用,指定各静态应用的应用ID(即应用标识)和应用启动、暂停、继续、停止过程。然而,大多非智能手机中尚未实现动态加载技术,由于动态应用是动态地存在于移动终端系统中的,只有在安装后才可见,并且动态应用只有在应用启动时才动态地载入内存中,无法事先向应用管理注册其应用启动、暂停、继续、停止过程,因此无法使用移动终端平台系统原有的应用管理模块来管理动态应用。
发明内容
本发明的主要目的在于提供一种移动终端及其动态应用的管理方法,以至少解决上述问题。
根据本发明的一个方面,提供了一种移动终端的动态应用的管理方法,包括:动态管理系统向应用管理模块注册动态应用,并指定动态应用的注册函数为通用注册函数,其中,通用注册函数预先保存在动态管理系统的管理模块中;应用管理模块根据接收到的通过用户操作所生成的操作指令调用指定的通用注册函数;管理模块中的通用注册函数对动态应用进行相应的操作。
优选地,动态管理系统向应用管理模块注册动态应用,并指定动态应用的注册函数为通用注册函数包括:动态管理系统向应用管理模块注册动态应用的应用ID;动态管理系统指定应用ID所对应的通用注册函数的函数名;其中,所有的动态应用注册时所指定的通用注册函数为同一个通用注册函数。
优选地,动态管理系统向应用管理模块注册动态应用,并指定动态应用的注册函数为通用注册函数还包括:动态管理系统中的安装/卸载模块根据人机界面交互接口接收到的通过用户操作所生成的动态应用安装指令安装动态应用;在安装完成后,安装/卸载模块将动态应用的基本信息保存到动态管理系统中的注册表中;安装/卸载模块向应用管理模块注册动态应用,包括:注册动态应用的应用ID并指定动态应用的注册函数为通用注册函数。
优选地,在动态管理系统向应用管理模块注册动态应用,并指定动态应用的注册函数为通用注册函数之后还包括:安装/卸载模块根据人机界面交互接口接收到的通过用户操作所生成的动态应用卸载指令卸载动态应用;在卸载完成后,安装/卸载模块更新注册表中动态应用的基本信息;安装/卸载模块向应用管理模块注销动态应用,包括注销动态应用的应用ID。
优选地,在动态管理系统向应用管理模块注册动态应用,并指定动态应用的注册函数为通用注册函数之前还包括:移动终端开机后,动态管理系统进行初始化。
优选地,动态管理系统进行初始化包括:检查动态管理系统中的注册表中动态应用的基本信息的正确性和完整性,并对检查到的错误的基本信息进行恢复处理;读取注册表中的已安装动态应用的基本信息,并向应用管理模块注册已安装动态应用。
优选地,通用注册函数包括通用启动函数、通用停止函数、通用继续函数和通用恢复函数。
优选地,操作指令为动态应用启动指令,其中动态应用启动指令中携带有所要启动的动态应用的应用ID;应用管理模块根据接收到的通过用户操作所生成的操作指令调用指定的通用注册函数包括:应用管理模块调用接收到的动态应用启动指令中的应用ID所对应的通用注册函数的通用启动函数,并将应用ID发送给管理模块;管理模块中的通用注册函数对动态应用进行相应的操作包括:管理模块中的通用注册函数的通用启动函数根据应用ID判断应用ID所对应的动态应用是否存在且尚未运行;若存在且尚未运行,则管理模块中的通用启动函数调用动态管理系统中的加载模块将动态应用载入内存中;管理模块中的通用启动函数在内存中查找并获得动态应用的启动函数的真实地址,并执行启动函数以完成启动过程。
优选地,操作指令为动态应用停止指令,其中动态应用停止指令中携带有所要停止的动态应用的应用ID;应用管理模块根据接收到的通过用户操作所生成的操作指令调用指定的通用注册函数包括:应用管理模块调用接收到的动态应用启动指令中的应用ID所对应的通用注册函数的通用停止函数,并将应用ID发送给管理模块;管理模块中的通用注册函数对动态应用进行相应的操作包括:管理模块中的通用注册函数的通用停止函数根据应用ID判断应用ID所对应的动态应用是否存在且已运行;若存在且已运行,则管理模块中的通用停止函数在内存中查找并获得动态应用的停止函数的真实地址,并执行停止函数以完成停止过程;动态应用停止后,管理模块中的通用停止函数调用动态管理系统中的加载模块将动态应用从内存中载出。
优选地,操作指令为动态应用暂停指令,其中动态应用暂停指令中携带有所要暂停的动态应用的应用ID;应用管理模块根据接收到的通过用户操作所生成的操作指令调用指定的通用注册函数包括:应用管理模块调用接收到的动态应用暂停指令中的应用ID所对应的通用注册函数的通用暂停函数,并将应用ID发送给管理模块;管理模块中的通用注册函数对动态应用进行相应的操作包括:管理模块中的通用注册函数的通用暂停函数根据应用ID判断应用ID所对应的动态应用是否存在且已运行;若存在且已运行,则管理模块中的通用暂停函数在内存中查找并获得动态应用的暂停函数的真实地址,并执行暂停函数以完成暂停过程。
优选地,操作指令为动态应用继续指令,其中动态应用继续指令中携带有所要继续的动态应用的应用ID;应用管理模块根据接收到的通过用户操作所生成的操作指令调用指定的通用注册函数包括:应用管理模块调用接收到的动态应用继续指令中的应用ID所对应的通用注册函数的通用继续函数,并将应用ID发送给管理模块;管理模块中的通用注册函数对动态应用进行相应的操作包括:管理模块中的通用注册函数的通用继续函数根据应用ID判断应用ID所对应的动态应用是否存在且已暂停;若存在且已暂停,则管理模块中的通用继续函数在内存中查找并获得动态应用的继续函数的真实地址,并执行继续函数以完成继续过程。
根据本发明的另一方面,提供了一种移动终端,包括:动态管理系统,用于向应用管理模块注册动态应用,并指定动态应用的注册函数为通用注册函数;应用管理模块,用于根据接收到的通过用户操作所生成的操作指令调用指定的通用注册函数;其中,动态管理系统包括:管理模块,其中保存有通用注册函数,通用注册函数用于当应用管理模块调用通用注册函数时对动态应用进行相应的操作。
优选地,动态管理系统还包括:注册表,用于存储已安装动态应用的基本信息;安装/卸载模块,用于执行动态应用的安装、升级、取消安装/升级和卸载;还用于与应用管理模块进行交互执行动态应用的注册或注销以及维护注册表中已安装动态应用的基本信息;加载模块,用于在启动动态应用时将动态应用载入内存中;还用于在停止动态应用时将动态应用从内存中载出。
通过本发明,由于在移动终端原有静态应用管理模块的基础上,拓展了动态管理系统部分,动态应用向应用管理模块注册的是管理模块的通用注册函数,所有的动态应用公用该通用注册函数,之后由管理模块在应用管理模块调用该通用注册函数时对动态应用进行相应操作,这样就顺利完成了平台应用管理模块对动态应用的管理,从而解决了相关技术中移动终端平台系统原有的应用管理模块无法对动态应用进行管理的问题,从而使得动态应用与静态应用的管理与调度机制完全一致,由应用管理模块统一管理,无需分开管理,既方便了应用的管理,又方便了应用的开发以及静态应用与动态应用的互相转换。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的移动终端的动态应用的管理方法的流程图;
图2是根据本发明实施例的移动终端的示意图;
图3是根据本发明实施例的动态管理系统的示意图;
图4是根据本发明一个优选实施例的动态管理系统在移动终端平台中的位置示意图;
图5是根据本发明一个优选实施例的动态管理系统与应用管理模块及动态应用之间的协作关系图,包括动态应用的启动、停止、暂停以及继续过程;
图6是根据本发明一个优选实施例的动态管理系统与应用管理模块及动态应用之间的协作关系图,包括安装和卸载过程。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
图1是根据本发明实施例的移动终端的动态应用的管理方法的流程图,包括以下步骤:
步骤S102,动态管理系统向应用管理模块注册动态应用,并指定该动态应用的注册函数为通用注册函数,其中,通用注册函数预先保存在动态管理系统的管理模块中;
步骤S104,应用管理模块根据接收到的通过用户操作所生成的操作指令调用该通用注册函数;
步骤S106,管理模块中的通用注册函数对动态应用进行相应的操作。
该实施例在移动终端原有静态应用管理模块的基础上,拓展了动态管理系统部分,动态应用向应用管理模块注册的是管理模块的通用注册函数,所有的动态应用公用该通用注册函数,之后由管理模块在应用管理模块调用该通用注册函数时对动态应用进行相应操作,这样就顺利完成了平台应用管理模块对动态应用的管理,从而解决了相关技术中移动终端平台系统原有的应用管理模块无法对动态应用进行管理的问题。使用该实施例使得动态应用与静态应用的管理与调度机制完全一致,由应用管理模块统一管理,无需分开管理,既方便了应用的管理,又方便了应用的开发以及静态应用与动态应用的互相转换。
其中,步骤S102包括:动态管理系统向应用管理模块注册动态应用的应用ID;动态管理系统指定应用ID所对应的通用注册函数的函数名;其中,所有的动态应用注册时所指定的通用注册函数是同一个通用注册函数。
该优选实施例提供了注册动态应用的具体实施方案。动态管理系统向应用管理模块提供动态应用的应用ID以及与该应用ID对应的通用注册函数。这里值得注意的是:虽然每个动态应用注册时均需指定对应的通用注册函数的函数名(作为一个链接),但是所有的动态应用注册时所指定的通用注册函数是同一个,即所有的动态应用公用该通用注册函数。
优选地,步骤S102包括:动态管理系统中的安装/卸载模块根据人机界面交互接口接收到的通过用户操作所生成的动态应用安装指令安装动态应用;在安装完成后,安装/卸载模块将该动态应用的基本信息保存到动态管理系统中的注册表中;安装/卸载模块向应用管理模块注册该动态应用,包括:注册该动态应用的应用ID并指定该动态应用的注册函数为通用注册函数。
该优选实施例提供了安装动态应用时,向移动终端原有的应用管理(即应用管理模块)注册该动态应用的具体实施方案。
优选地,在步骤S102之后还包括:安装/卸载模块根据人机界面交互接口接收到的通过用户操作所生成的动态应用卸载指令卸载动态应用;在卸载完成后,安装/卸载模块更新注册表中该动态应用的基本信息;安装/卸载模块向应用管理模块注销该动态应用,包括注销该动态应用的应用ID。
该优选实施例提供了卸载动态应用时,向终端原有的应用管理模块注销该动态应用的具体实施方案。
在本发明的上述优选实施例中,动态应用的注册和注销完全类似于静态应用的注册和注销。对于动态应用来说,其动态地存在于移动终端系统中,只有安装后才可见。因此,在注册动态应用时,注册动态应用的应用ID(即应用标识),并指明通用注册函数作为其所注册动态应用的应用启动、停止、继续和恢复过程。
优选地,在步骤S102之前还包括:移动终端开机后,动态管理系统进行初始化。
其中,动态管理系统进行初始化包括:检查动态管理系统中的注册表中动态应用的基本信息的正确性和完整性,并对检查到的错误的基本信息进行恢复处理;读取注册表中的已安装动态应用的基本信息,并向应用管理模块注册已安装动态应用。
该优选实施例提供了移动终端开机后,动态管理系统初始化的具体实施方案。
在上述的方法中,通用注册函数包括通用启动函数、通用停止函数、通用继续函数和通用恢复函数。
优选地,当步骤S104中应用管理模块接收到的操作指令为动态应用启动指令时,其中动态应用启动指令中携带有所要启动的动态应用的应用ID;步骤S104包括:应用管理模块调用接收到的动态应用启动指令中的应用ID所对应的通用注册函数的通用启动函数,并将该应用ID发送给管理模块;步骤S106包括:管理模块中的通用注册函数的通用启动函数根据该应用ID判断该应用ID所对应的动态应用是否存在且尚未运行;若存在且尚未运行,则管理模块中的通用启动函数调用动态管理系统中的加载模块将该动态应用载入内存中;管理模块中的通用启动函数在内存中查找并获得该动态应用的启动函数的真实地址,并执行该启动函数以完成启动过程。
该优选实施例提供了原有的应用管理模块通过管理模块对动态应用进行启动的具体实施方案。在管理模块中的通用启动函数调用加载模块找到该动态应用的安装目录并将其载入内存后,该动态应用即可见,这样,就可以在内存中找到该动态应用的真实启动函数的地址并进行启动过程。
优选地,当步骤S104中应用管理模块接收到的操作指令为动态应用停止指令时,其中动态应用停止指令中携带有所要停止的动态应用的应用ID;步骤S104包括:应用管理模块调用接收到的动态应用启动指令中的应用ID所对应的通用注册函数的通用停止函数,并将该应用ID发送给管理模块;步骤S106包括:管理模块中的通用注册函数的通用停止函数根据该应用ID判断该应用ID所对应的动态应用是否存在且已运行;若存在且已运行,则管理模块中的通用停止函数在内存中查找并获得动态应用的停止函数的真实地址,并执行停止函数以完成停止过程;动态应用停止后,管理模块中的通用停止函数调用动态管理系统中的加载模块将该动态应用从内存中载出。
该优选实施例提供了原有的应用管理模块通过管理模块对动态应用进行停止的具体实施方案。
优选地,当步骤S104中应用管理模块接收到的操作指令为动态应用暂停指令时,其中动态应用暂停指令中携带有所要暂停的动态应用的应用ID;步骤S104包括:应用管理模块调用接收到的动态应用暂停指令中的应用ID所对应的通用注册函数的通用暂停函数,并将该应用ID发送给管理模块;步骤S106包括:管理模块中的通用注册函数的通用暂停函数根据该应用ID判断该应用ID所对应的动态应用是否存在且已运行;若存在且已运行,则管理模块中的通用暂停函数在内存中查找并获得动态应用的暂停函数的真实地址,并执行暂停函数以完成暂停过程。
该优选实施例提供了原有的应用管理模块通过管理模块对动态应用进行暂停的具体实施方案。
优选地,当步骤S104中应用管理模块接收到的操作指令为动态应用继续指令时,其中动态应用继续指令中携带有所要继续的动态应用的应用ID;步骤S104包括:应用管理模块调用接收到的动态应用继续指令中的应用ID所对应的通用注册函数的通用继续函数,并将该应用ID发送给管理模块;步骤S106包括:管理模块中的通用注册函数的通用继续函数根据该应用ID判断该应用ID所对应的动态应用是否存在且已暂停;若存在且已暂停,则管理模块中的通用继续函数在内存中查找并获得动态应用的继续函数的真实地址,并执行继续函数以完成继续过程。
该优选实施例提供了原有的应用管理模块通过管理模块对动态应用进行继续的具体实施方案。
上述优选实施例对动态应用的管理方法进行创新,管理方法包括动态应用的启动、停止、暂停、继续及安装卸载过程的管理。从而实现了动态应用程序(即动态应用)的实时安装、启动、暂停、继续、停止和卸载等过程,且其兼容于静态应用的应用管理模块。
图2是根据本发明实施例的移动终端的示意图,图3是根据本发明实施例的动态管理系统的示意图。
如图2所示,移动终端包括:
动态管理系统10,用于向应用管理模块20注册动态应用,并指定该动态应用的注册函数为通用注册函数;
应用管理模块20,用于根据接收到的通过用户操作所生成的操作指令调用指定的通用注册函数;
其中,如图2和图3所示,动态管理系统10包括:管理模块101,其中保存有通用注册函数,该通用注册函数用于当应用管理模块20调用通用注册函数时对动态应用进行相应的操作。管理模块是移动终端平台应用管理模块(即移动终端平台应用管理)与动态应用之间相互通信的纽带。动态应用安装时向应用管理模块20注册的是管理模块101的动态应用通用注册函数(即通用注册函数),所有的动态应用公用该动态应用通用注册函数,之后由管理模块通过应用ID对动态应用进行识别,并进行相应操作,这样就顺利的完成了平台应用管理模块对动态应用的管理。
优选地,动态管理系统10还包括:
注册表102,用于存储已安装动态应用的基本信息;
安装/卸载模块103,用于执行动态应用的安装、升级、取消安装/升级和卸载;还用于与应用管理模块进行交互执行动态应用的注册或注销以及维护注册表中已安装动态应用的基本信息;
加载模块104,用于在启动动态应用时将动态应用载入内存中;还用于在停止动态应用时将动态应用从内存中载出。
上述的管理模块、注册表、安装/卸载模块以及加载模块共同协调运作负责完成整个动态应用的管理。
本发明的技术方案的具体实施包括以下几个方面:
1、动态加载管理框架(即动态管理系统,下同)的初始化。
动态管理框架在移动终端平台中的位置如图4所示,位于移动终端(如手机)平台的服务层,负责与应用管理模块(即图4中的应用管理,下同)的交互及供MMI(人机界面交互接口)层调用使用。
注册表用来存储已安装动态应用的基本信息。注册表中的每一项对应一个动态应用的基本信息,包括:动态应用的应用ID、动态应用名、动态应用显示名、动态应用类型、版本号、安装盘符、引用计数、是否加载等。其中动态应用名或应用ID唯一标识一个动态应用。
动态加载管理框架初始化(即图5中的步骤S202)流程完成以下三个方面的工作:
(1)系统文件及文件夹配置,根据动态管理框架的要求进行系统文件及文件夹配置检查,包括默认安装目录的检查和配置、注册表文件的检查和配置。
(2)完成注册表文件的正确性检查及错误处理及恢复过程,确保注册表文件的正确性。
(3)从注册表文件中读取已安装的动态应用的信息,并向应用管理模块注册应用。
初始化流程是后续动态应用的启动、卸载及新动态应用的安装过程的必要条件。
2、系统初始化后,动态应用的注册、安装、升级及卸载。
注册表中的每一项对应一个动态应用的基本信息,在动态应用的安装、升级及卸载过程中,需要对该应用的注册表项进行维护和更新,保存该动态应用的信息。并且在移动终端开机系统初始化的时候,对注册表中的信息进行正确性完整性校验及恢复机制,并读取注册表每项内容,对所有已安装的动态应用进行注册(即图5中的步骤S204,包括注册动态应用的应用ID并指明通用注册函数(共四个,分别是启动、停止、暂停和继续)作为其所注册动态应用的应用启动、停止、暂停、继续过程)。这样就保证已安装的动态应用重新开机后应用信息的完整性和运行的正确性。且类同于静态应用的开机注册方式。
其次是安装、升级及卸载过程的设计。安装与升级采用同一过程实现,若应用已安装则返回已存在,提示是否进行升级过程,设计更人性化。且在安装或升级过程中直接进行已安装或升级的动态应用的应用管理模块注册,在动态应用安装完成后立即可见。
图6是根据本发明一个优选实施例的动态管理系统与应用管理模块及动态应用之间的协作关系图,包括安装和卸载流程。
如图6所示,动态应用的安装流程包括以下步骤:
步骤S602,MMI接收到用户通过操作按键生成的安装动态应用的操作指令;
步骤S604,MMI调用安装接口;
步骤S606,动态加载管理框架向应用管理获取动态应用的应用ID;
步骤S608,应用管理向动态加载管理框架返回应用ID;
步骤S610,动态加载管理框架安装该动态应用;
步骤S612,安装完成后,动态加载管理框架向应用管理注册该动态应用,包括注册该动态应用的应用ID并指定该动态应用的通用注册函数(共四个,分别是启动、停止、暂停和继续)作为其所注册动态应用的应用启动、停止、暂停、继续过程;该步骤同图5中的步骤S204;
步骤S614,注册成功后,应用管理通知动态加载管理框架该动态应用注册成功;
步骤S616,动态加载管理框架向MMI返回安装成功消息。
动态应用的卸载流程包括如图6所示的步骤,与安装流程类似,这里不再赘述。其中,步骤S708卸载完成后,动态加载管理框架通过注销该动态应用的应用ID来向应用管理注销该动态应用。
3、动态应用的启动、停止、暂停或继续的管理(如图5所示)。
管理模块是该移动终端的动态管理系统中的一个重点模块,其设计在移动终端平台的静态应用管理模块的基础上进行拓展与延伸,使得应用管理模块对移动终端的应用程序,包括静态应用和动态应用的管理透明化。
由于动态应用是在加载到内存之后才可以进行其启动过程的。在加载到内存之前,其启动过程是不可见的。因此应用管理模块要启动动态应用必须在使其启动之前将其加载到内存中,该启动过程不同于静态应用的启动,因此如何对静态应用和动态应用进行统一管理就是管理模块的重点所在。
基本思路方法是在管理模块里设计一个虚拟的类似于静态应用的过程,即通用过程(对应于通用注册函数),包括:虚拟的应用启动、应用停止、应用暂停及应用继续过程。所有的动态应用都使用对应的通用过程进行启动、停止、暂停和继续。在通用过程中再根据应用ID对动态应用进行区分,进行不同的操作。
虚拟的应用启动过程是动态应用安装完成后向应用管理模块注册的应用启动过程(对应通用注册函数的通用启动函数),步骤S302应用管理接收到通过用户操作生成的停止应用指令,在该动态应用被启动时,应用管理模块调用其注册的应用启动过程,即虚拟的应用启动过程。该应用启动过程完全类似于静态应用的启动过程。在注册的管理模块中的虚拟启动过程中,完成后续的启动过程。虚拟应用启动过程根据应用ID来判断该动态应用是否存在以及已运行,若已运行直接返回;如果该动态应用存在且尚未运行,则执行步骤S304调用加载过程(即加载模块)将该动态应用从文件系统中载入到内存中,并获得其真正启动过程的地址,并执行(即步骤S306和步骤S308)。这样一个动态应用的启动就完成了。步骤S310启动完成后,动态应用通知应用管理启动成功。通过这样的设计就使得应用管理模块可以统一管理动态应用和静态应用了。
虚拟的应用停止过程是动态应用安装完成后向应用管理模块注册的应用停止过程(对应通用注册函数的通用停止函数),步骤S402应用管理接收到通过用户操作生成的停止应用指令,步骤S404在该动态应用被停止时,应用管理模块调用其注册的应用停止过程,即虚拟的应用停止过程。该停止过程完全类似于静态应用的停止过程。在注册的动态加载管理模块中的虚拟停止过程中,完成后续的停止过程。步骤S406至步骤S408:虚拟应用停止过程根据应用ID来判断该应用是否存在,及是否已经运行等,若未运行直接返回;如果该应用存在,且已运行,则调用加载过程首先获得真正的动态应用停止过程地址,并执行动态应用的停止过程,在步骤S410停止成功后再执行步骤S412将该动态应用从内存中载出,释放内存地址,完成了动态应用停止时载出内存的需求。步骤S414,停止完成后,动态应用通知应用管理停止成功。
同理对于动态应用的暂停和继续过程也是通过虚拟的应用暂停及应用继续过程这个纽带来完成的。如图5所示,动态应用的停止、暂停和继续过程与启动过程类似。
如图5所示,动态应用的暂停过程包括以下步骤:
步骤S502,应用管理接收到动态应用暂停指令,其中动态应用暂停指令中携带有所要暂停的动态应用的应用ID;
步骤S504,应用管理调用接收到的动态应用暂停指令中的应用ID所对应的通用注册函数的通用暂停函数,并将该应用ID发送给动态加载管理框架中的管理模块;
步骤S506至步骤S508,管理模块中的通用注册函数的通用暂停函数根据该应用ID判断该应用ID所对应的动态应用是否存在且已运行;若存在且已运行,则管理模块中的通用暂停函数在内存中查找并获得动态应用的暂停函数的真实地址,并执行暂停函数以完成暂停过程;
步骤S510,暂停完成后,动态应用通知应用管理暂停成功。
动态应用的继续过程包括以下步骤:
步骤S802,应用管理接收到动态应用继续指令,其中动态应用继续指令中携带有所要继续的动态应用的应用ID;
步骤S804应用管理调用接收到的动态应用继续指令中的应用ID所对应的通用注册函数的通用继续函数,并将该应用ID发送给动态加载管理框架中的管理模块;
步骤S806至步骤S808,管理模块中的通用注册函数的通用继续函数根据该应用ID判断该应用ID所对应的动态应用是否存在且已暂停;若存在且已暂停,则管理模块中的通用继续函数在内存中查找并获得动态应用的继续函数的真实地址,并执行继续函数以完成继续过程;
步骤S810,继续完成后,动态应用通知应用管理继续成功。
从以上的描述中,可以看出,本发明实现了如下技术效果:
(1)该方法简单、方便快捷地管理和协调了所有动态应用的安装、卸载、启动及停止全过程;
(2)在非智能机上发展动态应用及对这些种类众多的动态应用进行管理,且不影响原有静态应用的管理;
(3)既满足了动态应用按需加载,节省对硬件资源、编写调试应用独立于平台开发的需求,又使得动态应用的管理和调度统一于静态应用的应用管理模块,使得动态应用的开发类似于静态应用开发,既方便于动态应用的开发,又继承了原有应用的开发习惯,且方便了静态应用和动态应用之间的相互转换。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (13)
1.一种移动终端的动态应用的管理方法,其特征在于,包括:
动态管理系统向应用管理模块注册动态应用,并指定所述动态应用的注册函数为通用注册函数,其中,所述通用注册函数预先保存在所述动态管理系统的管理模块中;
所述应用管理模块根据接收到的通过用户操作所生成的操作指令调用指定的所述通用注册函数;
所述管理模块中的所述通用注册函数对所述动态应用进行相应的操作。
2.根据权利要求1所述的方法,其特征在于,动态管理系统向应用管理模块注册动态应用,并指定所述动态应用的注册函数为通用注册函数包括:
所述动态管理系统向所述应用管理模块注册所述动态应用的应用ID;
所述动态管理系统指定所述应用ID所对应的通用注册函数的函数名;
其中,所有的动态应用注册时所指定的通用注册函数为同一个通用注册函数。
3.根据权利要求1所述的方法,其特征在于,动态管理系统向应用管理模块注册动态应用,并指定所述动态应用的注册函数为通用注册函数还包括:
所述动态管理系统中的安装/卸载模块根据人机界面交互接口接收到的通过用户操作所生成的动态应用安装指令安装所述动态应用;
在安装完成后,所述安装/卸载模块将所述动态应用的基本信息保存到所述动态管理系统中的注册表中;
所述安装/卸载模块向所述应用管理模块注册所述动态应用,包括:注册所述动态应用的应用ID并指定所述动态应用的注册函数为通用注册函数。
4.根据权利要求3所述的方法,其特征在于,在动态管理系统向应用管理模块注册动态应用,并指定所述动态应用的注册函数为通用注册函数之后还包括:
所述安装/卸载模块根据人机界面交互接口接收到的通过用户操作所生成的动态应用卸载指令卸载所述动态应用;
在卸载完成后,所述安装/卸载模块更新所述注册表中所述动态应用的基本信息;
所述安装/卸载模块向所述应用管理模块注销所述动态应用,包括注销所述动态应用的应用ID。
5.根据权利要求3或4所述的方法,其特征在于,在动态管理系统向应用管理模块注册动态应用,并指定所述动态应用的注册函数为通用注册函数之前还包括:
所述移动终端开机后,所述动态管理系统进行初始化。
6.根据权利要求5所述的方法,其特征在于,所述动态管理系统进行初始化包括:
检查所述动态管理系统中的注册表中动态应用的基本信息的正确性和完整性,并对检查到的错误的基本信息进行恢复处理;
读取所述注册表中的已安装动态应用的基本信息,并向所述应用管理模块注册所述已安装动态应用。
7.根据权利要求1至4任一项所述的方法,其特征在于,所述通用注册函数包括通用启动函数、通用停止函数、通用继续函数和通用恢复函数。
8.根据权利要求7所述的方法,其特征在于,所述操作指令为动态应用启动指令,其中所述动态应用启动指令中携带有所要启动的动态应用的应用ID;
所述应用管理模块根据接收到的通过用户操作所生成的操作指令调用指定的所述通用注册函数包括:
所述应用管理模块调用接收到的所述动态应用启动指令中的应用ID所对应的通用注册函数的通用启动函数,并将所述应用ID发送给所述管理模块;
所述管理模块中的所述通用注册函数对所述动态应用进行相应的操作包括:
所述管理模块中的所述通用注册函数的所述通用启动函数根据所述应用ID判断所述应用ID所对应的动态应用是否存在且尚未运行;
若存在且尚未运行,则所述管理模块中的所述通用启动函数调用所述动态管理系统中的加载模块将所述动态应用载入内存中;
所述管理模块中的所述通用启动函数在所述内存中查找并获得所述动态应用的启动函数的真实地址,并执行所述启动函数以完成启动过程。
9.根据权利要求7所述的方法,其特征在于,所述操作指令为动态应用停止指令,其中所述动态应用停止指令中携带有所要停止的动态应用的应用ID;
所述应用管理模块根据接收到的通过用户操作所生成的操作指令调用指定的所述通用注册函数包括:
所述应用管理模块调用接收到的所述动态应用启动指令中的应用ID所对应的通用注册函数的通用停止函数,并将所述应用ID发送给所述管理模块;
所述管理模块中的所述通用注册函数对所述动态应用进行相应的操作包括:
所述管理模块中的所述通用注册函数的所述通用停止函数根据所述应用ID判断所述应用ID所对应的动态应用是否存在且已运行;
若存在且已运行,则所述管理模块中的所述通用停止函数在内存中查找并获得所述动态应用的停止函数的真实地址,并执行所述停止函数以完成停止过程;
所述动态应用停止后,所述管理模块中的所述通用停止函数调用所述动态管理系统中的加载模块将所述动态应用从内存中载出。
10.根据权利要求7所述的方法,其特征在于,所述操作指令为动态应用暂停指令,其中所述动态应用暂停指令中携带有所要暂停的动态应用的应用ID;
所述应用管理模块根据接收到的通过用户操作所生成的操作指令调用指定的所述通用注册函数包括:
所述应用管理模块调用接收到的所述动态应用暂停指令中的应用ID所对应的通用注册函数的通用暂停函数,并将所述应用ID发送给所述管理模块;
所述管理模块中的所述通用注册函数对所述动态应用进行相应的操作包括:
所述管理模块中的所述通用注册函数的所述通用暂停函数根据所述应用ID判断所述应用ID所对应的动态应用是否存在且已运行;
若存在且已运行,则所述管理模块中的所述通用暂停函数在内存中查找并获得所述动态应用的暂停函数的真实地址,并执行所述暂停函数以完成暂停过程。
11.根据权利要求7所述的方法,其特征在于,所述操作指令为动态应用继续指令,其中所述动态应用继续指令中携带有所要继续的动态应用的应用ID;
所述应用管理模块根据接收到的通过用户操作所生成的操作指令调用指定的所述通用注册函数包括:
所述应用管理模块调用接收到的所述动态应用继续指令中的应用ID所对应的通用注册函数的通用继续函数,并将所述应用ID发送给所述管理模块;
所述管理模块中的所述通用注册函数对所述动态应用进行相应的操作包括:
所述管理模块中的所述通用注册函数的所述通用继续函数根据所述应用ID判断所述应用ID所对应的动态应用是否存在且已暂停;
若存在且已暂停,则所述管理模块中的所述通用继续函数在内存中查找并获得所述动态应用的继续函数的真实地址,并执行所述继续函数以完成继续过程。
12.一种移动终端,其特征在于,包括:
动态管理系统,用于向应用管理模块注册动态应用,并指定所述动态应用的注册函数为通用注册函数;
所述应用管理模块,用于根据接收到的通过用户操作所生成的操作指令调用指定的所述通用注册函数;
其中,所述动态管理系统包括:管理模块,其中保存有所述通用注册函数,所述通用注册函数用于当所述应用管理模块调用所述通用注册函数时对所述动态应用进行相应的操作。
13.根据权利要求12所述的移动终端,其特征在于,所述动态管理系统还包括:
注册表,用于存储已安装动态应用的基本信息;
安装/卸载模块,用于执行所述动态应用的安装、升级、取消安装/升级和卸载;还用于与所述应用管理模块进行交互执行动态应用的注册或注销以及维护所述注册表中已安装动态应用的基本信息;
加载模块,用于在启动动态应用时将动态应用载入内存中;还用于在停止动态应用时将动态应用从内存中载出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010000339.3A CN101754356B (zh) | 2010-01-20 | 2010-01-20 | 移动终端及其动态应用的管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010000339.3A CN101754356B (zh) | 2010-01-20 | 2010-01-20 | 移动终端及其动态应用的管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101754356A true CN101754356A (zh) | 2010-06-23 |
CN101754356B CN101754356B (zh) | 2015-05-20 |
Family
ID=42480553
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010000339.3A Active CN101754356B (zh) | 2010-01-20 | 2010-01-20 | 移动终端及其动态应用的管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101754356B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103428357A (zh) * | 2012-05-25 | 2013-12-04 | 盛乐信息技术(上海)有限公司 | 实现移动终端操作系统上的本地服务共享的方法及装置 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10310757B2 (en) | 2017-08-23 | 2019-06-04 | Qualcomm Incorporated | Systems and methods for memory power saving via kernel steering to memory balloons |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6941133B2 (en) * | 2001-05-18 | 2005-09-06 | Qualcomm Inc. | Dynamic loading and creation of functional objects in a wireless device |
CN100589496C (zh) * | 2004-05-13 | 2010-02-10 | 深圳市友邻通讯设备有限公司 | 多语音/数据卡接口控制方法 |
-
2010
- 2010-01-20 CN CN201010000339.3A patent/CN101754356B/zh active Active
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103428357A (zh) * | 2012-05-25 | 2013-12-04 | 盛乐信息技术(上海)有限公司 | 实现移动终端操作系统上的本地服务共享的方法及装置 |
CN103428357B (zh) * | 2012-05-25 | 2016-12-21 | 上海盛付通电子支付服务有限公司 | 实现移动终端操作系统上的本地服务共享的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101754356B (zh) | 2015-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100989613B1 (ko) | 비안드로이드 플랫폼에서 안드로이드 어플리케이션을 실행하는 단말장치 | |
TW201437824A (zh) | 跨裝置通訊傳輸系統及其方法 | |
CN102348004B (zh) | 一种业务组件的配置方法、系统及设备 | |
CN103885756B (zh) | 智能终端的基础应用功能配置方法、实现方法和装置 | |
CN103729210A (zh) | 一种实现一个刷机包支持多种制式智能终端的方法及装置 | |
CN101853180A (zh) | 一种实现应用管理的方法及非智能移动终端 | |
CN106230977A (zh) | 一种客户端功能加载方法、系统、客户端和服务端 | |
CN104636154B (zh) | 应用程序安装方法及装置 | |
CN104735271A (zh) | 一种智能多媒体电话终端处理语音业务的方法及终端 | |
CN102780987A (zh) | 通信方法和通信终端 | |
CN101521600B (zh) | 一种网关设备中业务控制方法和网关设备 | |
CN101312469B (zh) | 终端显示订购业务的方法及系统 | |
CN105430448A (zh) | 一种视频播放器的控制处理方法和视频播放器客户端 | |
CN101339508B (zh) | 一种Java2微型版应用的运行方法和装置 | |
CN105657663A (zh) | 网络切换方法及装置 | |
CN106919391A (zh) | 面向智能手机的可定制操作系统组件的嵌入式系统 | |
CN101754356A (zh) | 移动终端及其动态应用的管理方法 | |
CN102196308A (zh) | 一种基于数字电视的多硬件接口兼容驱动系统 | |
CN101901157A (zh) | 一种管理软件自启动安装的方法及系统 | |
CN102087592B (zh) | 用于执行机器人应用程序的终端装置 | |
CN102170714A (zh) | 一种多制式驱动方法、系统和终端 | |
CN102185970A (zh) | 手机视频播放器组件模型对象接口规范的建立方法 | |
CN101193010A (zh) | 家庭智能网络系统的模拟板固件升级方法 | |
CN101695091A (zh) | 一种自动匹配终端开关机画面的装置及方法 | |
CN103235728B (zh) | Android终端中预置第三方应用的安装方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |