CN108989576A - 变量取值调整方法、装置、存储介质及移动终端 - Google Patents
变量取值调整方法、装置、存储介质及移动终端 Download PDFInfo
- Publication number
- CN108989576A CN108989576A CN201811056687.5A CN201811056687A CN108989576A CN 108989576 A CN108989576 A CN 108989576A CN 201811056687 A CN201811056687 A CN 201811056687A CN 108989576 A CN108989576 A CN 108989576A
- Authority
- CN
- China
- Prior art keywords
- value
- state
- variable
- mobile terminal
- activity
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72403—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72448—User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72448—User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
- H04M1/72454—User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions according to context-related or environment-related conditions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72484—User interfaces specially adapted for cordless or mobile telephones wherein functions are triggered by incoming communication events
Landscapes
- Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Telephone Function (AREA)
Abstract
本申请实施例公开了变量取值调整方法、装置、存储介质及移动终端。该方法包括:检测到移动终端处于通话过程中的黑屏状态;监测通话界面对应的活动的工作状态在通话结束之前,是否从第一状态进入第二状态,再恢复至第一状态;若是,则对与工作状态对应的第一变量的取值进行调整,其中,第一变量的取值和与活动对应的第二变量的取值共同决定是否允许移动终端的进入亮屏状态。本申请实施例通过采用上述技术方案,可以对现有的用于判定是否允许移动终端进入亮屏状态的变量的取值调整策略进行改进,优化屏幕亮屏的控制流程,避免用户使用移动终端的通话功能时,屏幕被异常点亮的情况发生。
Description
技术领域
本申请实施例涉及移动终端技术领域,尤其涉及变量取值调整方法、装置、存储介质及移动终端。
背景技术
目前,显示屏已成为多数移动终端的标准配置,用户可以通过显示屏查看移动终端中丰富的显示内容,并与移动终端建立良好的人机交互。
移动终端一般需要内置电源进行供电,以满足移动终端的便携性,而显示屏的显示会增加移动终端的功耗。为了合理控制移动终端的功耗,延长待机时间,需要对移动终端屏幕的亮屏和灭屏进行合理控制。然而,目前移动终端的亮屏控制方案仍不够完善,需要改进。
发明内容
本申请实施例提供一种变量取值调整方法、装置、存储介质及移动终端,可以通过优化变量取值调整策略来优化移动终端的亮屏控制方案。
第一方面,本申请实施例提供了一种变量取值调整方法,包括:
检测到移动终端处于通话过程中的黑屏状态;
监测通话界面对应的活动的工作状态在通话结束之前,是否从第一状态进入第二状态,再恢复至所述第一状态;其中,所述活动在所述移动终端相对于用户处于接近状态时进入第一状态,所述活动在所述移动终端相对于用户处于远离状态时进入第二状态;
若是,则对与所述工作状态对应的第一变量的取值进行调整,其中,所述第一变量的取值和与所述活动对应的第二变量的取值,共同决定是否允许所述移动终端的进入亮屏状态。
第二方面,本申请实施例提供了一种变量取值调整装置,包括:
黑屏状态检测模块,用于检测移动终端是否处于通话过程中的黑屏状态;
状态判断模块,用于在检测到所述移动终端处于通话过程中的黑屏状态时,监测通话界面对应的活动的工作状态在通话结束之前,是否从第一状态进入第二状态,再恢复至所述第一状态;其中,所述活动在所述移动终端相对于用户处于接近状态时进入第一状态,所述活动在所述移动终端相对于用户处于远离状态时进入第二状态;
变量取值调整模块,用于在所述状态判断模块的判断结果为是时,对与所述工作状态对应的第一变量的取值进行调整,其中,所述第一变量的取值和与所述活动对应的第二变量的取值,共同决定是否允许所述移动终端的进入亮屏状态。
第三方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请实施例所述的变量取值调整方法。
第四方面,本申请实施例提供了一种移动终端,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,所述处理器执行所述计算机程序时实现如本申请实施例所述的变量取值调整方法。
本申请实施例中提供的变量取值调整方案,检测到移动终端处于通话过程中的黑屏状态时,监测通话界面对应的活动的工作状态在通话结束之前,是否从第一状态进入第二状态,再恢复至第一状态,若是,则对与工作状态对应的第一变量的取值进行调整,其中,第一变量的取值和与活动对应的第二变量的取值共同决定是否允许移动终端进入亮屏状态。通过采用上述技术方案,可以对现有的用于判定是否允许移动终端进入亮屏状态的变量的取值调整策略进行改进,优化屏幕亮屏的控制流程,避免用户使用移动终端的通话功能时,屏幕被异常点亮的情况发生。
附图说明
图1为本申请实施例提供的一种变量取值调整方法的流程示意图;
图2为本申请实施例提供的另一种变量取值调整方法的流程示意图;
图3为本申请实施例提供的一种变量取值调整装置的结构框图;
图4为本申请实施例提供的一种移动终端的结构示意图;
图5为本申请实施例提供的又一种移动终端的结构示意图。
具体实施方式
下面结合附图并通过具体实施方式来进一步说明本申请的技术方案。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部结构。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
图1为本申请实施例提供的一种变量取值调整方法的流程示意图,该方法可以由变量取值调整装置执行,其中该装置可由软件和/或硬件实现,一般可集成在移动终端中。如图1所示,该方法包括:
步骤101、检测到移动终端处于通话过程中的黑屏状态。
示例性的,本申请实施例中的移动终端可包括手机及平板电脑等具备通话功能的移动设备。本申请实施例中的通话功能可以包括移动终端系统中的电话应用程序提供的电话功能,一般可基于移动通信运营商(如中国移动或中国联通等)提供的服务实现;还可以包括移动终端中其他第三方应用程序,如微信或QQ等社交类应用程序提供的通话功能等,一般可基于无线网络实现。
一般的,具备通话功能的移动设备上会设置有如麦克风等声音采集装置以及如听筒等声音播放装置,以实现通话过程中的语音交流。为了贴合用户的使用习惯,一般将麦克风设置在移动终端的底部,用于采集用户嘴巴说话的声音,将听筒设置在移动终端的顶部,用于将通话对方的声音送入用户耳朵。用户在接听通话时,为了保证通话效果,一般会将移动终端放置在头部一侧,多数情况下移动终端的显示屏会与用户脸部或耳朵接触,由于此时用户不需要查看显示屏的内容,为了节省功耗,同时也为了避免用户脸部或耳朵等部位与显示屏接触而产生误触,移动终端会控制显示屏进入黑屏状态或熄屏状态,也即熄灭显示屏。移动终端中通常会在听筒附近设置距离传感器,用于检测移动终端与用户头部之间的距离,当距离小于第一设定值时,认为移动终端相对于用户处于接近状态,控制显示屏进入黑屏状态,当距离大于第二预设值时,认为移动终端相对于用户处于远离状态,控制显示屏进入亮屏状态。其中,距离传感器可以由接近传感器(如红外接近传感器)或超声波传感器等传感器实现。
本步骤中,通话过程中的黑屏状态包括移动终端处于通话状态,且由于移动终端相对于用户处于接近状态时,所进入的黑屏状态。
步骤102、监测通话界面对应的活动的工作状态在通话结束之前,是否从第一状态进入第二状态,再恢复至所述第一状态。
其中,所述活动在所述移动终端相对于用户处于接近状态时进入第一状态,所述活动在所述移动终端相对于用户处于远离状态时进入第二状态。
本申请实施例中,活动可理解为一个独立的直接面向用户提供交互和操作的界面或页面,在不同的操作系统中可能采用不同的名词来命名该界面。为了便于理解,下面以安卓(Android)操作系统为例进行下面的说明。在Android系统中,活动被称为Activity。Activity是一个负责与用户交互的组件,其提供一个屏幕(可以理解为屏幕界面,而非实体的显示屏幕),以供用户交互完成某项任务。在一个android应用程序中,一个Activity通常就是一个单独的屏幕,它上面可以显示一些控件也可以监听并处理用户的事件。通话界面对应的活动可理解为当前用于通话的应用程序中的通话界面对应的Activity。活动一般可以有多种工作状态,如运行、暂停、停止、关闭及重新返回等等。对于Activity一般可包括running、pause、stopped、killed及resume等。本申请实施例中,第一状态可以是暂停(pause),第二状态可以是重新返回(resume)。
本申请实施例中,所述通话界面可包括所述移动终端系统中的电话应用程序中的通话界面,也可包括所述移动终端中第三方社交类应用程序中的通话界面,也可同时包括上述两种通话界面。
示例性的,在用户使用移动终端进行通话的过程中,可能会由于某种原因需要将移动终端远离耳部,然后再贴近耳部继续收听通话内容。例如,用户可能需要查看移动终端中的电话号码、文件或网页内容等;或者,用户可能需要暂时放下手中的移动终端,释放双手去找东西等。这样,在通话结束之前,通话界面对应的活动就会经历从第一状态进入第二状态,再恢复至第一状态的过程。
相关技术中,当移动终端处于通话过程中的黑屏状态时,触发显示屏点亮的流程可以有很多种。其中一种触发显示屏点亮的流程中涉及两个变量,当这两个变量的取值都表示允许显示屏进入亮屏状态时,才会点亮显示屏,随后再将这两个变量对应的取值恢复至默认值(如不允许),这两个变量中的一个即为本申请实施例接下来提到的第一变量,另一个在本申请实施例中被称为第二变量。第一变量是与通话界面对应的活动的工作状态对应的变量,该变量用于判定是否允许所述移动终端的进入亮屏状态。相关技术中,当第一变量的取值被设置为表示允许时,若第二变量始终未被设置为允许,那么第一变量的取值就无法被恢复至默认值,即使当活动从第二状态恢复至第一状态后,第一变量的取值仍然为允许。当活动处于第一状态时,说明移动终端相对于用户处于接近状态,而当第二变量被设置为允许后,会由于两个变量的取值均表示允许而误点亮屏幕,导致移动终端的显示屏在与用户相接近时进入亮屏状态,不仅浪费功耗,还容易发生误触,给用户的使用带来不便。
步骤103、若是,则对与所述工作状态对应的第一变量的取值进行调整。
其中,所述第一变量的取值和与所述活动对应的第二变量的取值,共同决定是否允许所述移动终端的进入亮屏状态。
本申请实施例中,为了避免上述显示屏被误点亮的情况发生,若通话界面对应的活动的工作状态在通话结束之前,从第一状态进入第二状态,再恢复至第一状态,则主动对第一变量的取值进行调整,如将其恢复至默认值或其他不表示允许的值,将第一变量的取值设置为不会导致允许显示屏进入亮屏状态的值,这样,即使第二变量被设置为允许,此时第一变量不为允许,显示屏就不会进入亮屏状态。
本申请实施例中提供的变量取值调整方法,检测到移动终端处于通话过程中的黑屏状态时,监测通话界面对应的活动的工作状态在通话结束之前,是否从第一状态进入第二状态,再恢复至第一状态,若是,则对与工作状态对应的第一变量的取值进行调整,其中,第一变量的取值和与活动对应的第二变量的取值共同决定是否允许移动终端进入亮屏状态。通过采用上述技术方案,可以对现有的用于判定是否允许移动终端进入亮屏状态的变量的取值调整策略进行改进,优化屏幕亮屏的控制流程,避免用户使用移动终端的通话功能时,屏幕被异常点亮的情况发生。
在一些实施例中,所述对与所述工作状态对应的第一变量的取值进行调整,包括:将与所述工作状态对应的第一变量的取值从第一预设值修改为第二预设值;其中,当所述活动从第一状态进入第二状态时,所述第一变量的取值被设置为所述第一预设值;当所述第一变量的取值为所述第一预设值,且所述第二变量的取值为第三预设值时,所述移动终端被允许进入亮屏状态,所述第一变量的取值被设置为所述第二预设值;所述第二变量的取值在通话对方结束通话时被设置为所述第三预设值。这样设置的好处在于,对不同工作状态下第一变量的取值进行预先设置,在需要进行调整时,直接修改为预设值,提升稳定性。示例性的,第一预设值为表示允许的值,如真(true)或1;第二预设值为表示不允许的值,如假(false)或0;第三预设值为表示允许的值,如真(true)或1,第三预设值可以与第一预设值相同,也可不同,本申请实施例不做限定;第二变量的取值还可以有第四预设值,表示不允许,如假(false)或0。例如,当活动从第一状态进入第二状态时,第一变量的取值为true。当通话对方结束通话时第二变量的取值被设置为true。当第一变量的取值为true,第二变量的取值为true时,移动终端被允许进入亮屏状态,同时第一变量的取值和第二变量的取值被设置为false。相关技术中,通话界面的活动从第一状态进入第二状态,若第二变量的取值在活动恢复至第一状态之前始终为false,那么第一变量的取值仍为true,不会恢复至false,在此之后,若第二变量的取值因通话对方结束通话而被设置为true,那么就会因第一变量和第二变量均为true,而导致显示屏被误点亮。本申请实施例中,在活动恢复至第一状态后,及时将第一变量的取值设置为false,则可有效避免显示屏被误点亮的情况发生,即在通话对方挂断通话时,用户未将移动终端移开头部之前,显示屏不会进入亮屏状态,节省功耗并防止发生误触。
在一些实施例中,在将与所述工作状态对应的第一变量的取值从第一预设值修改为第二预设值之后,还包括:在检测到所述第一变量的取值为所述第二预设值,且所述第二变量的取值为第三预设值时,阻止所述移动终端进入亮屏状态。这样设置的好处在于,进一步保证第一变量和第二变量未同时允许显示屏进入亮屏状态的情况下,移动终端误进入亮屏状态。
在一些实施例中,还包括:在检测到通话对方结束通话时,通过所述活动调用重新布局函数,以将所述第二变量的取值设置为所述第三预设值;其中,所述活动携带有点亮屏幕标识。这样设置的好处在于,合理设置第二变量取值的设置方式。一般的,通话本端想要结束通话时,通常需要通过点击屏幕上的结束按钮来实现,这时显示屏已经亮起。而当通话对方挂断电话时,移动终端仍处于黑屏状态,通话结束后,通话界面需要发生变化,所以需要进行重新布局,可为通话界面的活动设置点亮屏幕标识,这样,在活动调用重新布局函数时,便可识别出通话界面需要恢复显示。
在一些实施例中,所述第一变量包括与所述活动对应的应用窗口抽取AppWindowToken对象中的用于判定是否允许所述移动终端的进入亮屏状态的一个变量;所述第二变量包括与所述活动对应的窗口状态WindowState中的用于判定是否允许所述移动终端的进入亮屏状态的另一个变量。以Android操作系统为例,对第一变量和第二变量进行了进一步的限定,保证了本申请实施例与Android操作系统的兼容性。
在一些实施例中,所述将与所述工作状态对应的第一变量的取值从第一预设值修改为第二预设值,包括:通过依次调用活动堆栈ActivityStack类、应用窗口容器控制器AppWindowContainerController类和AppWindowToken类中的预设函数,将与所述工作状态对应的第一变量的取值设置为第二预设值。其中,预设函数为本申请实施例中为了实现对第一变量取值的修改而新增的函数,通过以上函数调用流程,可以在Android操作系统中安全准确地实现对第一变量取值的修改,保证系统稳定性。
图2为本申请实施例提供的另一种变量取值调整方法的流程示意图,该方法以移动终端安装有Android操作系统为例进行说明,为了方便理解,先对接下来涉及到的相关技术进行说明。
Android系统中存在有两种服务,活动管理服务(ActivityManagerService,AMS)和窗口管理服务(WindowManagerService,WMS),AMS是系统中用于管理所有Activity的服务,WMS是系统中用于管理所有Window的服务。每一个Activity组件在AMS内部,都对应有一个ActivityRecord对象,这个ActivityRecord对象是Activity组件启动的过程中创建的,用来描述Activity组件的运行状态。一个Activity组件在启动的过程中,会创建一个关联的ViewRootImpl对象,用来配合WMS服务来管理该Activity组件的窗口状态。ViewRootImpl类有一个静态成员变量sWindowSession,它指向了一个实现了IWindowSession接口的Session代理对象。在Activity组件的启动过程中,调用这个IWindowSession接口的成员函数add可以将一个关联的W对象传递到WMS服务,以便WMS服务可以为该Activity组件创建一个WindowState对象。在Activity组件的运行过程中,调用这个IWindowSession接口的成员函数relayout来请求WMS服务来对该Activity组件的UI进行布局,以便该Activity组件的UI可以正确地显示在屏幕中,也即当本申请实施例中的通话界面的窗口发生变化的时候,重新请求WMS,更新当前通话界面的窗口(一般可包括窗口的大小和位置等)。此外,Activity组件在启动的过程中,还会调用到ActivityStack类的成员函数startActivityLocked,该函数会请求WMS服务为当前正在启动的Activity组件创建一个AppWindowToken对象。应用程序进程中的每一个Activity组件在AMS中都对应有一个ActivityRecord对象。AMS中每一个ActivityRecord对象在WMS中都对应有一个AppWindowToken对象。在WMS中,AppWindowToken对象是用来描述一组有着相同令牌的窗口的,每一个窗口都是通过一个WindowState对象来描述的。此外,还需要说明一下FLAG_TURN_SCREEN_ON,当应用程序(APP)对应的Activity或窗口带有该标志时,当Activity启动时就能够点亮屏幕。
Android系统中存在着APP利用FLAG_TURN_SCREEN_ON点亮屏幕的原生流程。当一个带有FLAG_TURN_SCREEN_ON的Activiy(如本申请实施例中通话界面对应的Activiy)调用relayout函数时,会将对应的WindowState的mTurnOnScreen(相当于本申请实施例中的第二变量)设置为true。当该Activiy通过调用onResume方法进入resume状态时,会将对应的AppWindowToken的mCanTurnScreenOn(相当于本申请实施例中的第一变量)设置为true。当mTurnOnScreen和mCanTurnScreenOn同时为true后,将mTurnOnScreen和mCanTurnScreenOn同时设置为false并点亮屏幕。这种原生流程存在的问题是,AppWindowToken的mCanTurnScreenOn这个变量一旦被resume(即因Activity进入resume状态)设置为true之后,除非有relayout(即Activiy调用relayout函数)将windowState的mTuenOnScreen设置为true,两个条件达成之后进入亮屏流程,将其设置为false,其他情况下均无法将此变量(mCanTurnScreenOn)设置为false。这就导致有时即使Activity并非resume状态(如pause状态),这个mCanTurnScreenOn也还是true,达成亮屏条件而导致异常亮屏。本申请实施例提供的变量取值调整方案,能够有效解决该异常亮屏的问题。
具体的,该方法包括如下步骤:
步骤201、检测到移动终端处于通话过程中的黑屏状态。
步骤202、检测到通话界面对应的活动从暂停状态进入重新返回状态,将与所述活动的工作状态对应的应用窗口抽取对象中的第一变量设置为第一预设值。
示例性的,在检测到移动终端相对于用户处于远离状态时,通话界面对应的Activity在调用onResume方法时会从原来的pause状态进入resume状态,此时,将对应的AppWindowToken的mCanTurnScreenOn设置为true(即从false变为true)。用户在通话过程中,可能暂时将移动终端移开头部,如查看短信内容。需要说明的是,在移动终端被移开后,会检测到移动终端相对于用户处于远离状态,此时可基于另一种屏幕点亮流程控制移动终端进入亮屏状态,如发出亮屏请求等,该屏幕点亮流程与本申请实施例中的APP利用FLAG_TURN_SCREEN_ON点亮屏幕的流程相独立。
步骤203、检测到通话界面对应的活动进入暂停状态,将第一变量设置为第二预设值。
示例性的,当用户查看完短信内容后,会将移动终端放回耳边,继续进行通话,此时移动终端会回到黑屏状态。在检测到移动终端相对于用户处于接近状态时,通话界面对应的Activity在调用onPause方法时会进入pause状态,但原生流程中不会对mCanTurnScreenOn的取值进行更改,即仍为true,因为此时mTurnOnScreen的取值不是true。也就是说,虽然移动终端回到黑屏状态,mCanTurnScreenOn的取值仍为true。本申请实施例中,为了避免异常亮屏发生,主动将mCanTurnScreenOn的取值设置为false。
示例性的,可以在活动堆栈类(ActivityStack.java)中的活动暂停锁(activityPausedLocked)函数增加对当前处于pause状态的Activity的判断,如果是通话相关的Activity则会触发应用暂停通知(notifyAppPaused)函数,该函数是本申请实施例中的新增的预设函数。如在ActivityRecord.java中新增notifyAppPaused函数,在AppWindowContainerController.java中新增notifyAppPaused函数,在AppWindowToken.java中新增notifyAppPaused函数,采用自上往下的调用关系,最终将AppWindowToken的mCanTurnScreenOn设置为false。
步骤204、在检测到通话对方结束通话时,通过所述活动调用重新布局函数,以将所述第二变量的取值设置为所述第三预设值。
示例性的,在通话对方结束通话后,通话界面需要发生变化,所以通话界面对应的Activity会调用relayout函数,而通话界面对应的Activity携带有FLAG_TURN_SCREEN_ON标识,所以会将对应的WindowState的mTurnOnScreen设置为true。而此时,由于mCanTurnScreenOn的取值为false,所以不会点亮屏幕。
步骤205、检测到通话界面对应的活动进入重新返回状态,将与所述活动的工作状态对应的应用窗口抽取对象中的第一变量设置为第一预设值。
示例性的,当通话对方刚刚结束通话时,用户还未来得及将移动终端移开头部,而不久后,用户将移动终端移开头部后,会检测到移动终端相对于用户处于远离状态,此时,通话界面对应的Activity再次调用onResume方法进入resume状态,并将对应的AppWindowToken的mCanTurnScreenOn重新设置为true。
步骤206、控制移动终端进入亮屏状态,并将第一变量的取值设置为第二预设值,将第二变量的取值设置为第四预设值。
此时,mTurnOnScreen和mCanTurnScreenOn同时为true,满足APP(这里即通话应用程序)利用FLAG_TURN_SCREEN_ON点亮屏幕的条件,控制移动终端的显示屏亮起,并将mTurnOnScreen和mCanTurnScreenOn恢复为false。
本申请实施例提供的变量取值调整方法,对Android系统中现有的APP利用FLAG_TURN_SCREEN_ON点亮屏幕的原生流程进行改进,变更了用于判定是否允许移动终端进入亮屏状态的其中一个变量的取值调整策略,可有效完善亮屏逻辑,增强代码的适应性,避免异常亮屏的现象发生。
图3为本申请实施例提供的一种变量取值调整装置的结构框图,该装置可由软件和/或硬件实现,一般集成在移动终端中,可通过执行变量取值调整方法来进行变量取值调整。如图3所示,该装置包括:
黑屏状态检测模块301,用于检测移动终端是否处于通话过程中的黑屏状态;
状态判断模块302,用于在检测到所述移动终端处于通话过程中的黑屏状态时,监测通话界面对应的活动的工作状态在通话结束之前,是否从第一状态进入第二状态,再恢复至所述第一状态;其中,所述活动在所述移动终端相对于用户处于接近状态时进入第一状态,所述活动在所述移动终端相对于用户处于远离状态时进入第二状态;
变量取值调整模块303,用于在所述状态判断模块的判断结果为是时,对与所述工作状态对应的第一变量的取值进行调整,其中,所述第一变量的取值和与所述活动对应的第二变量的取值,共同决定是否允许所述移动终端的进入亮屏状态。
本申请实施例提供的变量取值调整装置,检测到移动终端处于通话过程中的黑屏状态时,监测通话界面对应的活动的工作状态在通话结束之前,是否从第一状态进入第二状态,再恢复至第一状态,若是,则对与工作状态对应的第一变量的取值进行调整,其中,第一变量的取值和与活动对应的第二变量的取值共同决定是否允许移动终端进入亮屏状态。通过采用上述技术方案,可以对现有的用于判定是否允许移动终端进入亮屏状态的变量的取值调整策略进行改进,优化屏幕亮屏的控制流程,避免用户使用移动终端的通话功能时,屏幕被异常点亮的情况发生。
可选的,所述对与所述工作状态对应的第一变量的取值进行调整,包括:
将与所述工作状态对应的第一变量的取值从第一预设值修改为第二预设值;其中,当所述活动从第一状态进入第二状态时,所述第一变量的取值被设置为所述第一预设值;当所述第一变量的取值为所述第一预设值,且所述第二变量的取值为第三预设值时,所述移动终端被允许进入亮屏状态,所述第一变量的取值被设置为所述第二预设值;所述第二变量的取值在通话对方结束通话时被设置为所述第三预设值。
可选的,该装置还包括:
亮屏阻止模块,用于在将与所述工作状态对应的第一变量的取值从第一预设值修改为第二预设值之后,在检测到所述第一变量的取值为所述第二预设值,且所述第二变量的取值为第三预设值时,阻止所述移动终端进入亮屏状态。
可选的,该装置还包括:
布局函数调用模块,用于在检测到通话对方结束通话时,通过所述活动调用重新布局函数,以将所述第二变量的取值设置为所述第三预设值;其中,所述活动携带有点亮屏幕标识。
可选的,所述第一变量包括与所述活动对应的应用窗口抽取AppWindowToken对象中的用于判定是否允许所述移动终端的进入亮屏状态的一个变量;所述第二变量包括与所述活动对应的窗口状态WindowState中的用于判定是否允许所述移动终端的进入亮屏状态的另一个变量。
可选的,所述将与所述工作状态对应的第一变量的取值从第一预设值修改为第二预设值,包括:
通过依次调用活动记录ActivityRecord类、应用窗口容器控制器AppWindowContainerController类和AppWindowToken类中的预设函数,将与所述工作状态对应的第一变量的取值设置为第二预设值。
可选的,所述通话界面包括所述移动终端系统中的电话应用程序中的通话界面,和/或,所述移动终端中第三方社交类应用程序中的通话界面。
本申请实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行变量取值调整方法,该方法包括:
检测到移动终端处于通话过程中的黑屏状态;
监测通话界面对应的活动的工作状态在通话结束之前,是否从第一状态进入第二状态,再恢复至所述第一状态;其中,所述活动在所述移动终端相对于用户处于接近状态时进入第一状态,所述活动在所述移动终端相对于用户处于远离状态时进入第二状态;
若是,则对与所述工作状态对应的第一变量的取值进行调整,其中,所述第一变量的取值和与所述活动对应的第二变量的取值,共同决定是否允许所述移动终端的进入亮屏状态。
存储介质——任何的各种类型的存储器设备或存储设备。术语“存储介质”旨在包括:安装介质,例如CD-ROM、软盘或磁带装置;计算机系统存储器或随机存取存储器,诸如DRAM、DDRRAM、SRAM、EDORAM,兰巴斯(Rambus)RAM等;非易失性存储器,诸如闪存、磁介质(例如硬盘或光存储);寄存器或其它相似类型的存储器元件等。存储介质可以还包括其它类型的存储器或其组合。另外,存储介质可以位于程序在其中被执行的第一计算机系统中,或者可以位于不同的第二计算机系统中,第二计算机系统通过网络(诸如因特网)连接到第一计算机系统。第二计算机系统可以提供程序指令给第一计算机用于执行。术语“存储介质”可以包括可以驻留在不同位置中(例如在通过网络连接的不同计算机系统中)的两个或更多存储介质。存储介质可以存储可由一个或多个处理器执行的程序指令(例如具体实现为计算机程序)。
当然,本申请实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的变量取值调整操作,还可以执行本申请任意实施例所提供的变量取值调整方法中的相关操作。
本申请实施例提供了一种移动终端,该移动终端中可集成本申请实施例提供的变量取值调整装置。图4为本申请实施例提供的一种移动终端的结构示意图。移动终端400可以包括:存储器401,处理器402及存储在存储器401上并可在处理器402运行的计算机程序,所述处理器402执行所述计算机程序时实现如本申请实施例所述的变量取值调整方法。
本申请实施例提供的移动终端,可以对现有的用于判定是否允许移动终端进入亮屏状态的变量的取值调整策略进行改进,优化屏幕亮屏的控制流程,避免用户使用移动终端的通话功能时,屏幕被异常点亮的情况发生。
图5为本申请实施例提供的另一种移动终端的结构示意图,该移动终端可以包括:壳体(图中未示出)、存储器501、中央处理器(central processing unit,CPU)502(又称处理器,以下简称CPU)、电路板(图中未示出)和电源电路(图中未示出)。所述电路板安置在所述壳体围成的空间内部;所述CPU502和所述存储器501设置在所述电路板上;所述电源电路,用于为所述移动终端的各个电路或器件供电;所述存储器501,用于存储可执行程序代码;所述CPU502通过读取所述存储器501中存储的可执行程序代码来运行与所述可执行程序代码对应的计算机程序,以实现以下步骤:
检测到移动终端处于通话过程中的黑屏状态;
监测通话界面对应的活动的工作状态在通话结束之前,是否从第一状态进入第二状态,再恢复至所述第一状态;其中,所述活动在所述移动终端相对于用户处于接近状态时进入第一状态,所述活动在所述移动终端相对于用户处于远离状态时进入第二状态;
若是,则对与所述工作状态对应的第一变量的取值进行调整,其中,所述第一变量的取值和与所述活动对应的第二变量的取值,共同决定是否允许所述移动终端的进入亮屏状态。
所述移动终端还包括:外设接口503、RF(Radio Frequency,射频)电路505、音频电路506、扬声器511、电源管理芯片508、输入/输出(I/O)子系统509、其他输入/控制设备510、触摸屏512、其他输入/控制设备510以及外部端口504,这些部件通过一个或多个通信总线或信号线507来通信。
应该理解的是,图示移动终端500仅仅是移动终端的一个范例,并且移动终端500可以具有比图中所示出的更多的或者更少的部件,可以组合两个或更多的部件,或者可以具有不同的部件配置。图中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
下面就本实施例提供的用于变量取值调整的移动终端进行详细的描述,该移动终端以手机为例。
存储器501,所述存储器501可以被CPU502、外设接口503等访问,所述存储器501可以包括高速随机存取存储器,还可以包括非易失性存储器,例如一个或多个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
外设接口503,所述外设接口503可以将设备的输入和输出外设连接到CPU502和存储器501。
I/O子系统509,所述I/O子系统509可以将设备上的输入输出外设,例如触摸屏512和其他输入/控制设备510,连接到外设接口503。I/O子系统509可以包括显示控制器5091和用于控制其他输入/控制设备510的一个或多个输入控制器5092。其中,一个或多个输入控制器5092从其他输入/控制设备510接收电信号或者向其他输入/控制设备510发送电信号,其他输入/控制设备510可以包括物理按钮(按压按钮、摇臂按钮等)、拨号盘、滑动开关、操纵杆、点击滚轮。值得说明的是,输入控制器5092可以与以下任一个连接:键盘、红外端口、USB接口以及诸如鼠标的指示设备。
触摸屏512,所述触摸屏512是用户移动终端与用户之间的输入接口和输出接口,将可视输出显示给用户,可视输出可以包括图形、文本、图标、视频等。
I/O子系统509中的显示控制器5091从触摸屏512接收电信号或者向触摸屏512发送电信号。触摸屏512检测触摸屏上的接触,显示控制器5091将检测到的接触转换为与显示在触摸屏512上的用户界面对象的交互,即实现人机交互,显示在触摸屏512上的用户界面对象可以是运行游戏的图标、联网到相应网络的图标等。值得说明的是,设备还可以包括光鼠,光鼠是不显示可视输出的触摸敏感表面,或者是由触摸屏形成的触摸敏感表面的延伸。
RF电路505,主要用于建立手机与无线网络(即网络侧)的通信,实现手机与无线网络的数据接收和发送。例如收发短信息、电子邮件等。具体地,RF电路505接收并发送RF信号,RF信号也称为电磁信号,RF电路505将电信号转换为电磁信号或将电磁信号转换为电信号,并且通过该电磁信号与通信网络以及其他设备进行通信。RF电路505可以包括用于执行这些功能的已知电路,其包括但不限于天线系统、RF收发机、一个或多个放大器、调谐器、一个或多个振荡器、数字信号处理器、CODEC(COder-DECoder,编译码器)芯片组、用户标识模块(Subscriber Identity Module,SIM)等等。
音频电路506,主要用于从外设接口503接收音频数据,将该音频数据转换为电信号,并且将该电信号发送给扬声器511。
扬声器511,用于将手机通过RF电路505从无线网络接收的语音信号,还原为声音并向用户播放该声音。
电源管理芯片508,用于为CPU502、I/O子系统及外设接口所连接的硬件进行供电及电源管理。
上述实施例中提供的变量取值调整装置、存储介质及移动终端可执行本申请任意实施例所提供的变量取值调整方法,具备执行该方法相应的功能模块和有益效果。未在上述实施例中详尽描述的技术细节,可参见本申请任意实施例所提供的变量取值调整方法。
注意,上述仅为本申请的较佳实施例及所运用技术原理。本领域技术人员会理解,本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由所附的权利要求范围决定。
Claims (10)
1.一种变量取值调整方法,其特征在于,包括:
检测到移动终端处于通话过程中的黑屏状态;
监测通话界面对应的活动的工作状态在通话结束之前,是否从第一状态进入第二状态,再恢复至所述第一状态;其中,所述活动在所述移动终端相对于用户处于接近状态时进入第一状态,所述活动在所述移动终端相对于用户处于远离状态时进入第二状态;
若是,则对与所述工作状态对应的第一变量的取值进行调整,其中,所述第一变量的取值和与所述活动对应的第二变量的取值,共同决定是否允许所述移动终端的进入亮屏状态。
2.根据权利要求1所述的方法,其特征在于,所述对与所述工作状态对应的第一变量的取值进行调整,包括:
将与所述工作状态对应的第一变量的取值从第一预设值修改为第二预设值;其中,当所述活动从第一状态进入第二状态时,所述第一变量的取值被设置为所述第一预设值;当所述第一变量的取值为所述第一预设值,且所述第二变量的取值为第三预设值时,所述移动终端被允许进入亮屏状态,所述第一变量的取值被设置为所述第二预设值;所述第二变量的取值在通话对方结束通话时被设置为所述第三预设值。
3.根据权利要求2所述的方法,其特征在于,在将与所述工作状态对应的第一变量的取值从第一预设值修改为第二预设值之后,还包括:
在检测到所述第一变量的取值为所述第二预设值,且所述第二变量的取值为第三预设值时,阻止所述移动终端进入亮屏状态。
4.根据权利要求2所述的方法,其特征在于,还包括:
在检测到通话对方结束通话时,通过所述活动调用重新布局函数,以将所述第二变量的取值设置为所述第三预设值;其中,所述活动携带有点亮屏幕标识。
5.根据权利要求2所述的方法,其特征在于,所述第一变量包括与所述活动对应的应用窗口抽取AppWindowToken对象中的用于判定是否允许所述移动终端的进入亮屏状态的一个变量;所述第二变量包括与所述活动对应的窗口状态WindowState中的用于判定是否允许所述移动终端的进入亮屏状态的另一个变量。
6.根据权利要求5所述的方法,其特征在于,所述将与所述工作状态对应的第一变量的取值从第一预设值修改为第二预设值,包括:
通过依次调用活动记录ActivityRecord类、应用窗口容器控制器AppWindowContainerController类和AppWindowToken类中的预设函数,将与所述工作状态对应的第一变量的取值设置为第二预设值。
7.根据权利要求1所述的方法,其特征在于,所述通话界面包括所述移动终端系统中的电话应用程序中的通话界面,和/或,所述移动终端中第三方社交类应用程序中的通话界面。
8.一种变量取值调整装置,其特征在于,包括:
黑屏状态检测模块,用于检测移动终端是否处于通话过程中的黑屏状态;
状态判断模块,用于在检测到所述移动终端处于通话过程中的黑屏状态时,监测通话界面对应的活动的工作状态在通话结束之前,是否从第一状态进入第二状态,再恢复至所述第一状态;其中,所述活动在所述移动终端相对于用户处于接近状态时进入第一状态,所述活动在所述移动终端相对于用户处于远离状态时进入第二状态;
变量取值调整模块,用于在所述状态判断模块的判断结果为是时,对与所述工作状态对应的第一变量的取值进行调整,其中,所述第一变量的取值和与所述活动对应的第二变量的取值,共同决定是否允许所述移动终端的进入亮屏状态。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一所述的变量取值调整方法。
10.一种移动终端,其特征在于,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-7任一所述的变量取值调整方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201811056687.5A CN108989576B (zh) | 2018-09-11 | 2018-09-11 | 变量取值调整方法、装置、存储介质及移动终端 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201811056687.5A CN108989576B (zh) | 2018-09-11 | 2018-09-11 | 变量取值调整方法、装置、存储介质及移动终端 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN108989576A true CN108989576A (zh) | 2018-12-11 |
| CN108989576B CN108989576B (zh) | 2020-09-01 |
Family
ID=64545611
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201811056687.5A Active CN108989576B (zh) | 2018-09-11 | 2018-09-11 | 变量取值调整方法、装置、存储介质及移动终端 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN108989576B (zh) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI699991B (zh) * | 2019-02-26 | 2020-07-21 | 華碩電腦股份有限公司 | 電子裝置及其控制方法 |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20100067181A1 (en) * | 2008-09-15 | 2010-03-18 | International Business Machines Corporation | Compact size portable computer having a fully integrated virtual keyboard projector and a display projector |
| CN104572328A (zh) * | 2014-12-29 | 2015-04-29 | 广东欧珀移动通信有限公司 | 一种控制方法及装置 |
| CN105245717A (zh) * | 2015-10-27 | 2016-01-13 | 努比亚技术有限公司 | 移动终端防误触装置和方法 |
| CN106412243A (zh) * | 2016-09-05 | 2017-02-15 | 努比亚技术有限公司 | 一种监测距离感应器异常的方法及终端 |
| CN107566161A (zh) * | 2017-08-08 | 2018-01-09 | 广东欧珀移动通信有限公司 | 参数配置方法及相关产品 |
| CN107704132A (zh) * | 2017-09-28 | 2018-02-16 | 努比亚技术有限公司 | 终端冻屏的检测方法、终端和计算机可读存储介质 |
-
2018
- 2018-09-11 CN CN201811056687.5A patent/CN108989576B/zh active Active
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20100067181A1 (en) * | 2008-09-15 | 2010-03-18 | International Business Machines Corporation | Compact size portable computer having a fully integrated virtual keyboard projector and a display projector |
| CN104572328A (zh) * | 2014-12-29 | 2015-04-29 | 广东欧珀移动通信有限公司 | 一种控制方法及装置 |
| CN105245717A (zh) * | 2015-10-27 | 2016-01-13 | 努比亚技术有限公司 | 移动终端防误触装置和方法 |
| CN106412243A (zh) * | 2016-09-05 | 2017-02-15 | 努比亚技术有限公司 | 一种监测距离感应器异常的方法及终端 |
| CN107566161A (zh) * | 2017-08-08 | 2018-01-09 | 广东欧珀移动通信有限公司 | 参数配置方法及相关产品 |
| CN107704132A (zh) * | 2017-09-28 | 2018-02-16 | 努比亚技术有限公司 | 终端冻屏的检测方法、终端和计算机可读存储介质 |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI699991B (zh) * | 2019-02-26 | 2020-07-21 | 華碩電腦股份有限公司 | 電子裝置及其控制方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN108989576B (zh) | 2020-09-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR102416906B1 (ko) | 단말기 제어 방법 및 장치, 그리고 단말기 | |
| CN104243671B (zh) | 音量调节方法、装置及电子设备 | |
| CN107844342B (zh) | 应用程序保活的管控方法、装置及存储介质和移动终端 | |
| CN107783803B (zh) | 智能终端的系统优化方法、装置、存储介质及智能终端 | |
| CN108024128B (zh) | 蓝牙音乐播放的控制方法、装置、终端设备及存储介质 | |
| CN107797841B (zh) | 窗口控制方法、装置、终端设备及存储介质 | |
| CN107861773A (zh) | 关联启动的管控方法、装置、存储介质及移动终端 | |
| CN107770759B (zh) | 蓝牙语音链路的建立方法、装置、存储介质及移动终端 | |
| CN107885588B (zh) | 应用服务的控制方法、装置及存储介质和移动终端 | |
| US12015733B2 (en) | Do-not-disturb method and terminal | |
| CN107835033A (zh) | 天线调谐开关的控制方法、装置、终端设备及存储介质 | |
| CN107944258A (zh) | 以服务方式启动应用的控制方法、装置、存储介质及终端 | |
| CN105930049A (zh) | 一种避免误操作的方法及终端 | |
| CN107608853A (zh) | 终端使用时间的控制方法、装置、存储介质及智能终端 | |
| WO2019218124A1 (zh) | 一种sim卡自动切换的方法和电子装置 | |
| CN107831886B (zh) | 关联启动应用的管控方法、装置、存储介质及智能终端 | |
| CN108536488A (zh) | 应用启动优化方法、装置、存储介质及终端设备 | |
| CN106708408A (zh) | 防止触摸按键误触发的方法、装置及终端 | |
| CN107844341B (zh) | 进程启动的管控方法、装置及存储介质和移动终端 | |
| CN106936993A (zh) | 终端屏幕控制方法及装置 | |
| CN107423064A (zh) | 消息处理方法、装置、终端设备及存储介质 | |
| CN107070670B (zh) | 控制广播发送者发送广播消息的方法、装置和终端设备 | |
| CN105807891A (zh) | 屏幕控制方法、装置及电子设备 | |
| CN103828335A (zh) | 一种终端及自动接听来电的方法 | |
| CN108989576B (zh) | 变量取值调整方法、装置、存储介质及移动终端 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant |