一种响应来电的方法及装置制造方法

文档序号:7807863阅读:194来源:国知局
一种响应来电的方法及装置制造方法
【专利摘要】本发明公开了一种响应来电的方法以实现快速释放资源及时响应来电的目的。例如,该方法可以包括:响应于接收到由来电触发的消息,判断正在终端运行的应用是否为系统应用;如果不是,判断是否存在系统主屏幕进程;如果不存在,强行关闭所述正在终端运行的应用。另外,本发明还公开了一种响应来电的装置。
【专利说明】一种响应来电的方法及装置
【技术领域】
[0001 ] 本发明涉及通讯领域,特别涉及一种响应来电的方法及装置。
【背景技术】
[0002]随着科技的发展,很多终端不仅可以接听来电,还具有独立的操作系统,可以由用户自行安装应用软件。
[0003]但是,由于这种终端内存较小,通常为单核CPU、内存256M的小内存终端,当终端中运行大型应用时,会导致CPU负荷高。如果接收到来电,会启动来电界面流程。不仅启动来电界面流程会增加负载,在启动来电界面过程中还会启动将当前应用退到后台的流程,又会增加更多负载,导致来电界面显示不及时,甚至可能导致对方以为无人接听而挂掉电话。

【发明内容】

[0004]有鉴于此,本发明的目的在于提供一种响应来电的方法及装置以实现快速释放资源及时响应来电的目的。
[0005]在本发明实施例第一个方面,提供了一种响应来电的方法。例如,该方法可以包括:响应于接收到由来电触发的消息,判断正在终端运行的应用是否为系统应用;如果不是,判断是否存在系统主屏幕进程;如果不存在,强行关闭所述正在终端运行的应用。
[0006]在本发明实施例第二个方面,提供了一种响应来电的装置。例如,该装置可以包括:应用判断单元,用于响应于接收到由来电触发的消息,判断正在终端运行的应用是否为系统应用;主屏幕判断单元,用于如果所述应用判断单元判断出正在终端运行的应用不是系统应用,判断是否存在系统主屏幕进程;关闭执行单元,用于如果所述主屏幕判断单元判断出不存在系统主屏幕进程,强行关闭所述正在终端运行的应用。
[0007]与现有技术将运行中的应用退到后台的实现方式不同的是,本发明实施例在接收到由来电触发的消息时,判断正在终端运行的应用是否为系统应用,当不是系统应用时,判断是否存在系统主屏幕进程,从而当不存在系统主屏幕进程时确定内存资源紧张,强行关闭所述正在终端运行的应用,从而可以为启动来电界面流程提供更多资源,加快来电界面显示,使用户可以及时看到来电界面以响应来电。
【专利附图】

【附图说明】
[0008]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0009]图1为本发明实施例提供的一种响应来电的方法的流程示意图;
[0010]图2为本发明实施例提供的一种响应来电的装置的结构示意图。【具体实施方式】
[0011]为了使本【技术领域】的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
[0012]例如,本发明实施例可以应用于小内存的终端上,在内存资源紧张的情况下,能够在来电时或在返回系统主屏幕按钮被按下时,快速释放资源,从而能够快速反应来电,或快速回复系统主屏幕界面。当然,本发明实施例并不限于应用在小内存的终端上,在内存容量较大的终端上也可以应用。
[0013]例如,参见图1,为本发明实施例提供的一种响应来电的方法的流程示意图。如图所示,该方法可以包括:
[0014]S110、响应于接收到由来电触发的消息,判断正在终端运行的应用是否为系统应用;
[0015]S120、如果不是,判断是否存在系统主屏幕进程;
[0016]例如,如果正在终端运行的应用是系统应用,则可以在该系统应用运行的同时,启动来电界面流程。
[0017]S130、如果不存在,强行关闭所述正在终端运行的应用。
[0018]例如,可以使用Kill (杀掉)命令,强行关闭所述正在终端运行的应用。
[0019]例如,正在终端运行的应用可能是系统应用,也可能是游戏应用,或者,其他为用户提供服务的应用等等。如果是系统应用,为了保证系统正常运行,本发明实施例可以不对系统应用进行强行关闭。如果不是系统应用,通过判断是否存在系统主屏幕进程判断内存资源是否紧张,如果存在系统主屏幕进程,可以确定内存资源不紧张,进而在终端运行的应用运行的同时启动来电界面流程,如果不存在系统主屏幕进程,可以确定内存资源紧张,从而强行关闭所述正在终端运行的应用以释放资源,为启动来电界面流程提供更多资源,力口快来电界面显示,使用户可以及时看到来电界面以响应来电。
[0020]在本发明实施例一些可能的实施方式中,考虑到即使存在系统主屏幕进程,资源也可能不足以及时启动来电界面。针对这一问题,本发明实施例还对来电界面是否在一定时间内显示进行了判断,从而在判定一定时长内未显示来电界面时,强行关闭正在终端运行的应用以释放资源,为启动来电界面流程提供更多资源。可以理解的是,如果在预设时长内收到来电界面已显示的消息,则无需再强行关闭正在运行的应用。具体地,本发明实施例可以从判断出存在系统主屏幕进程开始,判断在预设时长内是否收到来电界面已显示的消息,如果在预设时长内未收到来电界面已显示的消息,强行关闭所述正在终端运行的应用。
[0021]需要说明的是,在该实施方式中,对如何判断预设时长内是否收到来电界面已显示的消息的【具体实施方式】不限。例如,在一些可能的实施方式中,可以设置计时器,在判断出存在系统主屏幕进程时,所述计时器开始计时,当计时时长未超过预设时长时收到来电界面已显示的消息时,可以确定在预设时长内收到来电界面已显示的消息,当计时时长超过预设时长时还未收到来电界面已显示的消息时,可以确定在预设时长内未收到来电界面已显示的消息。再例如,在一些可能的实施方式中,可以利用消息队列延时消息在所设置的延时时长后发出的机制,当判断出存在系统主屏幕进程时,向消息队列发送延时为预设时长的延时消息,如果接收到来电界面已显示的消息、且还未从消息队列收到所述延时消息,确定在预设时长内收到来电界面已显示的消息,将所述延时消息从所述消息队列中删除,如果接收到消息队列发送的所述延时消息,且还未接收到来电界面已显示的消息,确定在预设时长内未收到来电界面已显示的消息。
[0022]需要说明的是,本发明实施例可以应用于任何操作系统的终端之上。例如,在一些可能的实施方式中,本发明实施例可以应用于Android(安卓)操作系统的终端之上。具体地,可以应用于 Android AMS (Android Activity Manager Service,系统服务)。AMS,是Activity管理的服务端,用于管理Activity的各种行为,控制Activity的生命周期,派发消息事件,可以用于进程间通信,等。Activity,是应用程序组件,是应用基本的页面单元,提供应用与用户交互的接口。
[0023]下面,对本发明实施例应用于Android AMS的实施方式进行进一步地详细说明。例如,该实施方式可以包括:
[0024]RIL层(无线接口层)接收到来电信号后,调用AMS提供的来电通知接口(例如,可以根据实施需要自行定义该来电通知接口)以向AMS发送来电的消息(例如,可以定义该消息类型为 KILL_ST0P_FR0NT_APP)。当然,RIL 层在向 AMS 发送 KILL_ST0P_FR0NT_APP消息之后,可以继续向终端的来电应用上报接收到来电信号的消息,以使来电应用启动显示来电界面的流程。
[0025]AMS响应于接收到到RIL层发送的消息(例如,KILL_ST0P_FR0NT_APP消息),判断正在终端运行的应用是否为系统应用。例如,可以通过AMS内的本地变量来判断正在终端运行的应用是否为系统应用,该本地变量可以为AMS内用于标识正在终端运行的应用是否为系统应用的本地变量。
[0026]如果AMS判定正在终端运行的应用不是系统应用,则进一步判断是否存在系统主屏幕进程(或称HOME进程)。
[0027]如果AMS判定不存在系统主屏幕进程,确定终端当前内存资源紧张,强行关闭(或称,杀掉)所述正在终端运行的应用。
[0028]如果AMS判定存在系统主屏幕进程,通过AMS的Handler消息机制向消息队列发送延时为预设时长的延时消息。
[0029]如果AMS从来电应用接收到来电界面已显示的消息(例如,可以将该消息的类型定义为CANCEL_KILL_ST0P_TME0UT)、且还未从消息队列收到所述延时消息,确定在预设时长内收到来电界面已显示的消息,将所述延时消息从所述消息队列中删除。
[0030]如果AMS接收到消息队列发送的所述延时消息,且还未接收到来电界面已显示的消息,确定在预设时长内未收到来电界面已显示的消息,强行关闭所述正在终端运行的应用。
[0031]在本发明实施例另一些可能的实施方式中,还提供了快速恢复系统主屏幕界面的实现方式。例如,本发明实施例可以响应于返回系统主屏幕按钮(例如,HOME键)被按下,判断Launcher,即系统桌面启动器是否已运行;如果所述系统桌面启动器未运行,且正在终端运行的应用不是系统应用,则强行关闭所述正在终端运行的应用以释放资源,为启动系统主屏幕界面流程提供更多资源,加快系统主屏幕界面,即HOME界面显示,使用户可以及时看到HOME界面。
[0032]在本发明实施例又一些可能的实施方式中,还提供了快速响应来短信的实现方式。例如,本发明实施例可以响应于接收到由来短信触发的消息,判断正在终端运行的应用是否为系统应用;如果不是,判断是否存在系统主屏幕进程;如果不存在,强行关闭所述正在终端运行的应用。
[0033]与上述响应来电的方法对应的,本发明还提供了一种响应来电的装置。例如,参见图2,为本发明实施例提供的一种响应来电的装置的结构示意图。如图2所示,该装置可以包括:
[0034]应用判断单元210,可以用于响应于接收到由来电触发的消息,判断正在终端运行的应用是否为系统应用;
[0035]主屏幕判断单元220,可以用于如果所述应用判断单元判断出正在终端运行的应用不是系统应用,判断是否存在系统主屏幕进程;
[0036]关闭执行单元230,可以用于如果所述主屏幕判断单元判断出不存在系统主屏幕进程,强行关闭所述正在终端运行的应用。
[0037]由于本发明实施例应用判断单元210在接收到由来电触发的消息时,判断正在终端运行的应用是否为系统应用,从而在不是系统应用时通过主屏幕判断单元220判断是否存在系统主屏幕进程确定内存资源是否紧张,如果存在系统主屏幕进程,可以确定内存资源不紧张,进而在终端运行的应用运行的同时启动来电界面流程,如果不存在系统主屏幕进程,可以确定内存资源紧张,从而由关闭执行单元230强行关闭所述正在终端运行的应用以释放资源,为启动来电界面流程提供更多资源,加快来电界面显示,使用户可以及时看到来电界面以响应来电。
[0038]在本发明实施例一些可能的实施方式中,考虑到即使存在系统主屏幕进程,资源也可能不足以及时启动来电界面。针对这一问题,本发明实施例通过的装置如图2所示还可以包括:来电显示判断单元240,可以用于从所述主屏幕判断单元判断出存在系统主屏幕进程开始,判断在预设时长内是否收到来电界面已显示的消息。关闭执行单元230,还可以用于如果所述来电显示判断单元240判断出在预设时长内未收到来电界面已显示的消息,强行关闭所述正在终端运行的应用。
[0039]需要说明的是,在该实施方式中,对如何判断预设时长内是否收到来电界面已显示的消息的【具体实施方式】不限。例如,在一些可能的实施方式中,所述来电显示判断单元240可以包括:延时消息发送子单元241,可以用于当所述主屏幕判断单元判断出存在系统主屏幕进程时,向消息队列发送延时为预设时长的延时消息。删除子单元242,可以用于如果接收到来电界面已显示的消息、且还未从消息队列收到所述延时消息,确定在预设时长内收到来电界面已显示的消息,将所述延时消息从所述消息队列中删除。来电显示判断子单元243,可以用于如果接收到消息队列发送的所述延时消息,且还未接收到来电界面已显示的消息,确定在预设时长内未收到来电界面已显示的消息。
[0040]需要说明的是,本发明实施例可以配置于任何操作系统的终端之上。例如,在一些可能的实施方式中,本发明实施例可以配置于Android操作系统的终端之上。具体地,可以配置于Android AMS。下面,对本发明实施例通过的装置配置于Android AMS的实施方式进行进一步地详细说明。例如,该装置的所述应用判断单元210,可以用于响应于接收到RIL层接收到来电信号之后通过调用AMS提供的来电通知接口发送的消息,判断正在终端运行的应用是否为系统应用。其中,所述来电界面已显示的消息具体可以由所述终端中运行的来电应用,在完成来电界面显示后通过调用AMS提供的来电界面接口发出。延时消息发送子单元241,可以用于当所述主屏幕判断单元判断出存在系统主屏幕进程时,通过AMS的Handler消息机制向消息队列发送延时为预设时长的延时消息。
[0041]在本发明实施例另一些可能的实施方式中,还提供了快速恢复系统主屏幕界面的实现方式。例如,本发明实施例提供的装置还可以包括:主键响应单元250,可以用于响应于返回系统主屏幕按钮被按下,判断系统桌面启动器是否已运行。所述关闭执行单元230,还可以用于如果所述系统桌面启动器未运行,且正在终端运行的应用不是系统应用,则强行关闭所述正在终端运行的应用。
[0042]在本发明实施例又一些可能的实施方式中,还提供了快速响应来短信的实现方式。例如,本发明实施例提供的装置还可以包括:短信响应单元260,可以用于响应于接收到由来短信触发的消息,判断正在终端运行的应用是否为系统应用;如果不是,触发所述主屏幕判断单元判断是否存在系统主屏幕进程;如果不存在,强行关闭所述正在终端运行的应用。
[0043]需要注意的是,来电显示判断单元240、延时消息发送子单元241、删除子单元242、来电显示判断子单元243、主键响应单元250以及短信响应单元260在图2中用虚线绘制,以表示这些单元不是本发明的必要单元。
[0044]为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本发明时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
[0045]通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如R0M/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
[0046]本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0047]本发明可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
[0048]本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
[0049]需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0050]以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
【权利要求】
1.一种响应来电的方法,其特征在于,包括: 响应于接收到由来电触发的消息,判断正在终端运行的应用是否为系统应用; 如果不是,判断是否存在系统主屏幕进程; 如果不存在,强行关闭所述正在终端运行的应用。
2.根据权利要求1所述的方法,其特征在于,还包括: 从判断出存在系统主屏幕进程开始,判断在预设时长内是否收到来电界面已显示的消息; 如果在预设时长内未收到来电界面已显示的消息,强行关闭所述正在终端运行的应用。
3.根据权利要求2所述的方法,其特征在于,所述从判断出存在系统主屏幕进程开始,判断在预设时长内是否收到来电界面已显示的消息包括: 当判断出存在系统主屏幕进程时,向消息队列发送延时为预设时长的延时消息;如果接收到来电界面已显示的消息、且还未从消息队列收到所述延时消息,确定在预设时长内收到来电界面已显示的消息,将所述延时消息从所述消息队列中删除; 如果接收到消息队列发送的所述延时消息,且还未接收到来电界面已显示的消息,确定在预设时长内未收到来电界面已显示的消息。
4.根据权利要求3所述的方法,其特征在于,所述方法应用于AndroidAMS; 所述响应于接收到由来电触发的消息,判断正在终端运行的应用是否为系统应用的具体实现为:响应于AMS提供的来电通知接口被RIL层调用,判断正在终端运行的应用是否为系统应用; 所述来电界面已显示的消息具体由所述终端中运行的来电应用,在完成来电界面显示后通过调用AMS提供的来电界面接口发出; 所述当判断出存在系统主屏幕进程时,向消息队列发送延时为预设时长的延时消息的具体实现为:当判断出存在系统主屏幕进程时,通过AMS的Handler消息机制向消息队列发送延时为预设时长的延时消息。
5.根据权利要求1所述的方法,其特征在于,还包括: 响应于返回系统主屏幕按钮被按下,判断系统桌面启动器是否已运行;如果所述系统桌面启动器未运行,且正在终端运行的应用不是系统应用,则强行关闭所述正在终端运行的应用; 或者, 响应于接收到由来短信触发的消息,判断正在终端运行的应用是否为系统应用;如果不是,判断是否存在系统主屏幕进程;如果不存在,强行关闭所述正在终端运行的应用。
6.一种响应来电的装置,其特征在于,包括: 应用判断单元,用于响应于接收到由来电触发的消息,判断正在终端运行的应用是否为系统应用; 主屏幕判断单元,用于如果所述应用判断单元判断出正在终端运行的应用不是系统应用,判断是否存在系统主屏幕进程; 关闭执行单元,用于如果所述主屏幕判断单元判断出不存在系统主屏幕进程,强行关闭 所述正在终端运行的应用。
7.根据权利要求6所述的装置,其特征在于,还包括:来电显示判断单元,用于从所述主屏幕判断单元判断出存在系统主屏幕进程开始,判断在预设时长内是否收到来电界面已显示的消息; 关闭执行单元,还用于如果所述来电显示判断单元判断出在预设时长内未收到来电界面已显示的消息,强行关闭所述正在终端运行的应用。
8.根据权利要求7所述的装置,其特征在于,所述来电显示判断单元包括: 延时消息发送子单元,用于当所述主屏幕判断单元判断出存在系统主屏幕进程时,向消息队列发送延时为预设时长的延时消息; 删除子单元,用于如果接收到来电界面已显示的消息、且还未从消息队列收到所述延时消息,确定在预设时长内收到来电界面已显示的消息,将所述延时消息从所述消息队列中删除; 来电显示判断子单元,用于如果接收到消息队列发送的所述延时消息,且还未接收到来电界面已显示的消息,确定在预设时长内未收到来电界面已显示的消息。
9.根据权利要求8所述的装置,其特征在于,所述装置配置于AndroidAMS; 所述应用判断单元,用于响应于AMS提供的来电通知接口被RIL层调用,判断正在终端运行的应用是否为系统应用; 所述来电界面已显示的消息具体由所述终端中运行的来电应用,在完成来电界面显示后通过调用AMS提供的 来电界面接口发出; 延时消息发送子单元,用于当所述主屏幕判断单元判断出存在系统主屏幕进程时,通过AMS的Handler消息机制向消息队列发送延时为预设时长的延时消息。
10.根据权利要求6所述的装置,其特征在于,还包括:主键响应单元,用于响应于返回系统主屏幕按钮被按下,判断系统桌面启动器是否已运行; 所示关闭执行单元,还用于如果所述主键响应单元判断出系统桌面启动器未运行,且正在终端运行的应用不是系统应用,则强行关闭所述正在终端运行的应用; 或者, 短信响应单元,用于响应于接收到由来短信触发的消息,判断正在终端运行的应用是否为系统应用,当不是时,触发所述主屏幕判断单元。
【文档编号】H04M1/725GK104038642SQ201410309495
【公开日】2014年9月10日 申请日期:2014年7月1日 优先权日:2014年7月1日
【发明者】李力军, 夏静 申请人:中科创达软件股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1