CN102402457A - 手机应用程序交互事件的处理方法 - Google Patents
手机应用程序交互事件的处理方法 Download PDFInfo
- Publication number
- CN102402457A CN102402457A CN2010102869441A CN201010286944A CN102402457A CN 102402457 A CN102402457 A CN 102402457A CN 2010102869441 A CN2010102869441 A CN 2010102869441A CN 201010286944 A CN201010286944 A CN 201010286944A CN 102402457 A CN102402457 A CN 102402457A
- Authority
- CN
- China
- Prior art keywords
- application program
- application programs
- priority
- mobile phone
- alternative events
- 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.)
- Pending
Links
Images
Landscapes
- Telephone Function (AREA)
Abstract
本发明公开了一种手机应用程序交互事件的处理方法,其包括以下步骤:S1、定义各应用程序的回调函数,包括启动、恢复、暂停或退出回调函数;S2、应用程序调用注册接口向管理中心注册应用程序的相关信息,包括ID号、优先级,以及启动、恢复、暂停或退出回调函数;S3、当交互事件到来时,应用程序调用管理中心提供的运行接口,接口输入参数包括应用程序的ID号、调度方法或附加参数;S4、应用程序退出时调用管理中心提供的退出接口。采用本发明,所有交互事件统一管理,应用程序之间没有任何交互过程,它们都是由交互事件管理中心统一进行调度,模块和模块之间几乎没有耦合。并且,应用程序裁剪及移植非常方便。
Description
技术领域
本发明涉及手机上层应用软件交互事件处理方式,特别是涉及一种基于优先级的手机应用程序交互事件的处理方法。
背景技术
手机上层应用模块在使用过程中存在各种交互事件,例如当用户正在播放MP3时闹钟事件到来,此时需要暂停播放MP3,待闹钟处理结束后恢复MP3播放。如图1所示,图中APP代表应用程序,目前基于某些手机平台(比如STE平台,ST-Errison公司开发的手机平台)的手机上层应用模块采用各自模块处理交互事件,例如WAP PUSH消息到来时,在消息处理过程中就会判断当前手机状态,如果用户正在通话,就以振动的方式提示。每个模块都需要调用相关模块的API接口(应用程序接口)来决定交互事件处理流程。这样模块与模块之间的耦合度太大,不仅如此,每次增加一种交互事件模块,所有模块都需要更改处理流程,代码冗余严重,给***移植及功能扩展带来极大的不便。
发明内容
本发明要解决的技术问题是为了克服现有技术中的交互方法代码冗余严重、***移植性差的缺陷,提供一种基于优先级的手机应用程序交互事件的处理方法。
本发明是通过下述技术方案来解决上述技术问题的:
一种手机应用程序交互事件的处理方法,其特点在于,其包括以下步骤:
S1、定义各应用程序的回调函数,包括启动、恢复、暂停或退出回调函数;
S2、应用程序调用注册接口向管理中心注册应用程序的相关信息,包括ID号、优先级,以及启动、恢复、暂停或退出回调函数;
S3、当交互事件到来时,应用程序调用管理中心提供的运行接口,接口输入参数包括应用程序的ID号、调度方法或附加参数;
S4、应用程序退出时调用管理中心提供的退出接口。
较佳地,所述管理中心用于实现并维护一张应用程序链表,链表中每个结点包括每个应用程序的优先级、唯一的ID号、处理函数,同时还用于向应用程序提供注册、运行、查询和退出接口。
较佳地,步骤S3中,当交互事件到来时,管理中心查找整个应用程序链表,并根据各个应用程序的优先级调用不同的回调函数。
较佳地,如果是同优先级的应用程序,就采用后来者先服务或先来者先服务方式进行处理。
本发明的积极进步效果在于:本发明采用基于优先级与LFS(后来者先服务)算法或先来先服务算法,可以有效改善上述问题。所有交互事件统一管理,应用程序之间没有任何交互过程,它们都是由交互事件管理中心统一进行调度,模块和模块之间几乎没有耦合。如果增加一个应用程序(交互事件),只需要此应用程序向管理中心注册优先级、处理函数等信息即可,不需要其它模块修改任何代码。这样应用程序裁剪及移植非常方便。
附图说明
图1为传统的手机应用程序交互处理的过程图。
图2为本发明的手机应用程序交互事件的处理方法流程图。
具体实施方式
下面结合附图给出本发明较佳实施例,以详细说明本发明的技术方案。
如图2所示,本发明的总体思路为手机上层应用软件(比如短信功能、通话功能)之间的交互事件统一交给交互管理中心处理,每个应用模块指定唯一的优先级,如果是同优先级应用就采用LFS(后来者先服务)方式或先来先服务进行处理,当一个应用(比如短信、通话等)或事件(指执行比较快的动作,比如插拔充电器等)到来时,管理中心查找整个活动应用程序链表,并根据优先级调用不同的回调函数。这些处理函数在软件初始化过程中,由应用程序向管理中心注册而存在。
举例来讲,比如短信息功能的优先级为5,彩信功能优先级也为5,打电话功能优先级为10,则当用户正在编辑短信息时,有彩信到来时,因为两者优先级相同,则采用LFS方式,先收取彩信,暂停短信息编辑,等收取完彩信之后再恢复短信息编辑。而当有电话接入时,由于优先级高于短信息功能的优先级,则优先使用通话功能,结束之后再恢复短息编辑。
如表1所示,在具体实施时,应用程序交互管理中心需要实现并维护一张应用程序链表,链表中每个结点包括优先级、唯一的ID号、处理函数(启动、暂停、恢复、退出四个函数)。同时管理中心还需要向应用程序提供注册、运行、查询等接口。
表1
ID号 |
优先级 |
处理回调函数 |
应用程序使用此交互管理方式实施步骤如下:
1、各应用程序实现回调函数,比如当应用程序被打断暂停时需要保存的一些现场信息包括UI、GUI、业务流程等信息。应用程序恢复时需要的一些现场恢复动作。退出函数主要完成一些公共资源的释放比如内存释放、关文件等操作。启动函数主要完成模块初始化操作比如全局变量赋初值、文件的读写等。
2、应用程序调用注册接口向管理中心注册相关信息:ID号、优先级、启动、恢复、暂停、退出回调函数。
3、当交互事件到来时应用程序调用管理中心提供的APP(应用程序)运行接口,接口输入参数包括应用程序ID号、调度方法(是否采用优先级)、附加参数等。此处的是否采用优先级就是说当程序a正在运行时,程序b到来,如果程序b的优先级高于程序a,如果采用优先级则此时程序a需要暂停,让程序b运行,但如果接口输入参数中的调度方法为不采用优先级,则还保持程序a继续运行。而附加参数主要是应用程序功能的扩展,可以利用附加参数传参数附带信息进入正在运行的***中。
4、应用程序退出时调用管理中心提供的APP退出接口。
当交互事件来到时,是否暂停当前的应用程序,怎么保存、恢复现场等所有交互处理过程都交由管理中心处理,应用程序不需要关心任何交互处理细节。
虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这些仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。
Claims (4)
1.一种手机应用程序交互事件的处理方法,其特征在于,其包括以下步骤:
S1、定义各应用程序的回调函数,包括启动、恢复、暂停或退出回调函数;
S2、应用程序调用注册接口向管理中心注册应用程序的相关信息,包括ID号、优先级,以及启动、恢复、暂停或退出回调函数;
S3、当交互事件到来时,应用程序调用管理中心提供的运行接口,接口输入参数包括应用程序的ID号、调度方法或附加参数;
S4、应用程序退出时调用管理中心提供的退出接口。
2.如权利要求1所述的手机应用程序交互事件的处理方法,其特征在于,所述管理中心用于实现并维护一张应用程序链表,链表中每个结点包括每个应用程序的优先级、唯一的ID号、处理函数,同时还用于向应用程序提供注册、运行、查询和退出接口。
3.如权利要求1所述的手机应用程序交互事件的处理方法,其特征在于,步骤S3中,当交互事件到来时,管理中心查找整个应用程序链表,并根据各个应用程序的优先级调用不同的回调函数。
4.如权利要求2所述的手机应用程序交互事件的处理方法,其特征在于,如果是同优先级的应用程序,就采用后来者先服务或先来者先服务方式进行处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102869441A CN102402457A (zh) | 2010-09-17 | 2010-09-17 | 手机应用程序交互事件的处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102869441A CN102402457A (zh) | 2010-09-17 | 2010-09-17 | 手机应用程序交互事件的处理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102402457A true CN102402457A (zh) | 2012-04-04 |
Family
ID=45884688
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010102869441A Pending CN102402457A (zh) | 2010-09-17 | 2010-09-17 | 手机应用程序交互事件的处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102402457A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103383844A (zh) * | 2012-05-04 | 2013-11-06 | 盛乐信息技术(上海)有限公司 | 语音合成方法及*** |
CN103853478A (zh) * | 2012-12-05 | 2014-06-11 | 博雅网络游戏开发(深圳)有限公司 | 交互方法和交互*** |
CN103888619A (zh) * | 2014-04-16 | 2014-06-25 | 青岛海信电子设备股份有限公司 | 一种消息处理方法及其*** |
CN103995752A (zh) * | 2014-06-16 | 2014-08-20 | 上海斐讯数据通信技术有限公司 | 模块间通知回调方法及模块交互结构 |
CN107402769A (zh) * | 2017-08-09 | 2017-11-28 | 郑州云海信息技术有限公司 | 一种模块间信息交互的方法和*** |
CN107515793A (zh) * | 2017-08-22 | 2017-12-26 | 四川长虹电器股份有限公司 | 一种支持消息机制的模块通信方法 |
CN108108170A (zh) * | 2018-01-04 | 2018-06-01 | 武汉斗鱼网络科技有限公司 | 一种组件的解耦合方法及*** |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5974541A (en) * | 1997-07-22 | 1999-10-26 | National Instruments Corporation | GPIB system and method which provides asynchronous event notification |
CN1512370A (zh) * | 2002-12-31 | 2004-07-14 | ����̩ƽ | 基于构件的用户自定义事件机制 |
CN1571483A (zh) * | 2004-05-09 | 2005-01-26 | 上海高清数字技术创新中心 | 一种提高数字电视接收设备中事件传递与处理的方法 |
CN1635781A (zh) * | 2003-12-29 | 2005-07-06 | 北京中视联数字***有限公司 | 一种数字电视接收机中间件消息统一处理方法 |
US20070204235A1 (en) * | 2006-02-06 | 2007-08-30 | Samsung Electronics Co., Ltd. | Method for any ticker while the user is in any application session in a mobile communication device |
-
2010
- 2010-09-17 CN CN2010102869441A patent/CN102402457A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5974541A (en) * | 1997-07-22 | 1999-10-26 | National Instruments Corporation | GPIB system and method which provides asynchronous event notification |
CN1512370A (zh) * | 2002-12-31 | 2004-07-14 | ����̩ƽ | 基于构件的用户自定义事件机制 |
CN1635781A (zh) * | 2003-12-29 | 2005-07-06 | 北京中视联数字***有限公司 | 一种数字电视接收机中间件消息统一处理方法 |
CN1571483A (zh) * | 2004-05-09 | 2005-01-26 | 上海高清数字技术创新中心 | 一种提高数字电视接收设备中事件传递与处理的方法 |
US20070204235A1 (en) * | 2006-02-06 | 2007-08-30 | Samsung Electronics Co., Ltd. | Method for any ticker while the user is in any application session in a mobile communication device |
Non-Patent Citations (2)
Title |
---|
FRANK DABEK等: "Event-driven Programming for Robust Software", 《EW 10 PROCEEDINGS OF THE 10TH WORKSHOP ON ACM SIGOPS EUROPEAN WORKSHOP》 * |
王铬: "回调函数在软件设计中的应用", 《河南教育学院学报(自然科学版)》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103383844A (zh) * | 2012-05-04 | 2013-11-06 | 盛乐信息技术(上海)有限公司 | 语音合成方法及*** |
CN103383844B (zh) * | 2012-05-04 | 2019-01-01 | 上海果壳电子有限公司 | 语音合成方法及*** |
CN103853478A (zh) * | 2012-12-05 | 2014-06-11 | 博雅网络游戏开发(深圳)有限公司 | 交互方法和交互*** |
CN103888619A (zh) * | 2014-04-16 | 2014-06-25 | 青岛海信电子设备股份有限公司 | 一种消息处理方法及其*** |
CN103888619B (zh) * | 2014-04-16 | 2016-03-23 | 青岛海信电子设备股份有限公司 | 一种消息处理方法及其*** |
CN103995752A (zh) * | 2014-06-16 | 2014-08-20 | 上海斐讯数据通信技术有限公司 | 模块间通知回调方法及模块交互结构 |
CN107402769A (zh) * | 2017-08-09 | 2017-11-28 | 郑州云海信息技术有限公司 | 一种模块间信息交互的方法和*** |
CN107515793A (zh) * | 2017-08-22 | 2017-12-26 | 四川长虹电器股份有限公司 | 一种支持消息机制的模块通信方法 |
CN108108170A (zh) * | 2018-01-04 | 2018-06-01 | 武汉斗鱼网络科技有限公司 | 一种组件的解耦合方法及*** |
CN108108170B (zh) * | 2018-01-04 | 2021-04-27 | 武汉斗鱼网络科技有限公司 | 一种组件的解耦合方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102402457A (zh) | 手机应用程序交互事件的处理方法 | |
CN106802826B (zh) | 一种基于线程池的业务处理方法及装置 | |
CN105677477B (zh) | 一种优化应用程序资源的方法、装置及电子设备 | |
CN103176842B (zh) | 后台进程管理方法及其移动终端 | |
CN101772212B (zh) | 一种在移动终端上对多应用进行统一管理的方法及装置 | |
CN105426244B (zh) | 应用进程管理方法及应用进程管理装置 | |
CN103140831A (zh) | 在处理器处执行线程的***和方法 | |
CN101788926A (zh) | J2me应用前台切换的资源调配方法及装置 | |
CN102981906A (zh) | 一种应用程序后台进程管理方法及装置 | |
CN101567013A (zh) | 一种etl调度的实现方法及装置 | |
CN102279888A (zh) | 一种任务调度方法和*** | |
CN106484882A (zh) | 一种数据库连接池的管理方法和装置 | |
CN103793275A (zh) | 实现负载均衡的***及处理方法 | |
CN105187327A (zh) | 一种分布式消息队列中间件 | |
CN102467411A (zh) | 一种工作流处理及工作流代理方法、装置和*** | |
CN102810184A (zh) | 一种动态执行工作流的方法、装置及企业*** | |
CN102662650A (zh) | 一种基于动态业务流程引擎实现方法和*** | |
CN103455355A (zh) | 安卓设备及其适配器视图的异步数据加载方法及装置 | |
CN101452399A (zh) | 任务二级调度模块及方法 | |
CN109445921A (zh) | 一种分布式数据任务处理方法及装置 | |
CN103092866A (zh) | 数据监控方法及监控装置 | |
CN102023899B (zh) | 多线程数据同步方法及装置 | |
CN101986672A (zh) | 一种信息处理方法及装置 | |
CN102455932B (zh) | 一种任务实例串行执行方法、装置及*** | |
CN102761541A (zh) | 定时器处理方法及*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20120404 |