CN116027876A - 绝对静止状态信息获取方法及电子设备 - Google Patents
绝对静止状态信息获取方法及电子设备 Download PDFInfo
- Publication number
- CN116027876A CN116027876A CN202210754965.4A CN202210754965A CN116027876A CN 116027876 A CN116027876 A CN 116027876A CN 202210754965 A CN202210754965 A CN 202210754965A CN 116027876 A CN116027876 A CN 116027876A
- Authority
- CN
- China
- Prior art keywords
- absolute
- motionservice
- notification
- static state
- application
- 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
- 230000003068 static effect Effects 0.000 title claims abstract description 127
- 238000000034 method Methods 0.000 title claims abstract description 70
- 238000001514 detection method Methods 0.000 claims abstract description 75
- 238000012544 monitoring process Methods 0.000 claims abstract description 23
- 230000006870 function Effects 0.000 claims description 34
- 238000004891 communication Methods 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 6
- 241000592183 Eidolon Species 0.000 description 14
- 238000012545 processing Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 230000000284 resting effect Effects 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Power Sources (AREA)
Abstract
本申请提供了一种绝对静止状态信息获取方法及电子设备。该方法包括:当电子设备灭屏,功耗管控应用通过第一***应用向服务进程MotionService发送第一通知,第一通知用于使能绝对静止状态监控;MotionService根据第一通知,控制Sensorhub模块启动绝对静止状态检测;MotionService接收Sensorhub模块发送的绝对静止状态检测结果;MotionService通过第一***应用将绝对静止状态检测结果返回给功耗管控应用;其中,功耗管控应用、第一***应用和MotionService运行在处理器中,Sensorhub模块运行在电子设备的第一芯片上,处理器不在第一芯片上。这样,提供了一种由功耗管控应用到Sensorhub模块的新通路,使得功耗管控应用能够获取到Sensorhub模块中绝对静止状态算法输出的绝对静止状态检测结果。
Description
技术领域
本申请涉及终端设备领域,尤其涉及一种绝对静止状态信息获取方法及电子设备。
背景技术
当电子设备进入绝对静止状态,意味着电子设备没有移动。如果电子设备灭屏并且处于绝对静止状态,通常说明用户当前没有使用电子设备。此时,电子设备的一些APP(应用程序),例如省电精灵,根据电子设备灭屏状态下是否处于绝对静止状态,可以启动相应的功能,以对电子设备的功耗进行管控。
这些APP的运行,需要绝对静止状态信息(即电子设备是否处于绝对静止状态)支持。因此,要实现这些APP的功能,需要先获得绝对静止状态信息。
发明内容
为了解决上述技术问题,本申请提供一种绝对静止状态信息获取方法及电子设备,提供了一种由功耗管控应用到Sensorhub模块的新通路,使得功耗管控应用能够获取到Sensorhub模块中绝对静止状态算法输出的绝对静止状态检测结果。
第一方面,本申请提供一种绝对静止状态信息获取方法。该方法应用于电子设备。该方法包括:当电子设备灭屏,功耗管控应用通过第一***应用向服务进程MotionService发送第一通知,第一通知用于使能绝对静止状态监控;MotionService根据第一通知,控制Sensorhub模块启动绝对静止状态检测;MotionService接收Sensorhub模块发送的绝对静止状态检测结果;MotionService通过第一***应用将绝对静止状态检测结果返回给功耗管控应用;其中,功耗管控应用、第一***应用和MotionService运行在处理器中,Sensorhub模块运行在电子设备的第一芯片上,处理器不在第一芯片上。这样,提供了一种由功耗管控应用到Sensorhub模块的新通路,使得功耗管控应用能够获取到Sensorhub模块中绝对静止状态算法输出的绝对静止状态检测结果。
根据第一方面,还包括:当电子设备亮屏,功耗管控应用通过第一***应用向MotionService发送第三通知,第三通知用于去使能绝对静止状态监控;MotionService根据第三通知,控制Sensorhub模块停止绝对静止状态检测。这样,在亮屏的情形下,功耗管控应用利用到Sensorhub模块的新通路,停止Sensorhub模块的绝对静止状态检测。
根据第一方面,Sensorhub模块中用于进行绝对静止状态检测的算法库占用的低功耗内存空间小于第一值。这样,就能够利用由功耗管控应用到Sensorhub模块的新通路,在低功耗内存空间较小的芯片上获取到绝对静止状态信息,降低对芯片的要求。
根据第一方面,当电子设备灭屏,功耗管控应用通过第一***应用向服务进程MotionService发送第一通知,第一通知用于使能绝对静止状态监控之前,还包括:建立第一***应用与MotionService之间的第一连接;建立功耗管控应用与第一***应用之间的第二连接。这样,在功耗管控应用与MotionService之间建立通路,从而在每次灭屏时,都能够利用该通路与Sensorhub模块进行通信,以获取到Sensorhub模块中绝对静止状态算法输出的绝对静止状态检测结果。
根据第一方面,建立第一***应用与MotionService之间的第一连接,包括:第一***应用中包括新增的Motion通路子类,第一***应用创建Motion通路子类的第一对象,其中,Motion通路子类用于在第一***应用和MotionService之间建立通信通路;MotionService通过第一操作类中的第一函数获取第一对象。这样,通过在MotionService中新增的Motion通路子类,可以建立MotionService与第一***应用之间的连接。
根据第一方面,当电子设备灭屏,功耗管控应用通过第一***应用向服务进程MotionService发送第一通知,第一通知用于使能绝对静止状态监控,包括:当电子设备灭屏,功耗管控应用通过第二连接将第一通知发送给第一***应用,第一通知用于使能绝对静止状态监控;第一***应用通过第一连接将第一通知转发给服务进程MotionService。这样,功耗管控应用能够通过第一***应用将通知下发给MotionService。
根据第一方面,MotionService根据第一通知,控制Sensorhub模块启动绝对静止状态检测,包括:MotionService根据第一通知,向Sensorhub模块发送第二通知,第二通知用于指示启动绝对静止状态检测;Sensorhub模块根据第二通知,启动绝对静止状态检测。这样,功耗管控应用就能够通过MotionService,将通知下发给Sensorhub模块,以控制Sensorhub模块绝对静止状态算法的启动运行。
根据第一方面,MotionService通过第一***应用将绝对静止状态检测结果返回给功耗管控应用,包括:MotionService通过第一回调函数将绝对静止状态检测结果返回给第一***应用;第一***应用解析绝对静止状态检测结果,将绝对静止状态检测结果转换成绝对静止状态信息;第一***应用通过第二回调函数将绝对静止状态信息返回给功耗管控应用。这样,通过回调函数,可以将Sensorhub模块中绝对静止状态算法输出的绝对静止状态检测结果传送给功耗管控应用。
根据第一方面,MotionService根据第三通知,控制Sensorhub模块停止绝对静止状态检测,包括:MotionService根据第三通知,向Sensorhub模块发送第四通知,第四通知用于指示停止绝对静止状态检测;Sensorhub模块根据第四通知,停止绝对静止状态检测。这样,功耗管控应用就能够通过MotionService,将通知下发给Sensorhub模块,以控制Sensorhub模块绝对静止状态算法的停止运行。
根据第一方面,第一***应用为综合传感信息处理平台服务MSDPService。MSDPService是电子设备中已有的***应用。
第二方面,本申请提供一种电子设备,电子设备包括第一芯片,电子设备包括:存储器和处理器,存储器与处理器耦合;存储器存储有程序指令,当程序指令由所述处理器执行时,使得电子设备执行第一方面任意一项所述的绝对静止状态信息获取方法。
第三方面,本申请提供一种计算机可读存储介质,包括计算机程序,当计算机程序在电子设备上运行时,使得电子设备执行前述的第一方面任意一项所述的绝对静止状态信息获取方法。
附图说明
图1为示例性示出的电子设备100的结构示意图;
图2为示例性示出的本申请实施例的电子设备100的软件结构框图;
图3为示例性示出的本申请实施例中绝对静止状态信息获取方法所涉及的各模块的运行环境示意图;
图4为示例性示出的本申请实施例中绝对静止状态信息获取方法的流程示例图;
图5为示例性示出的图4中步骤S410的过程示例图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
本申请实施例的说明书和权利要求书中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述对象的特定顺序。例如,第一目标对象和第二目标对象等是用于区别不同的目标对象,而不是用于描述目标对象的特定顺序。
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
在本申请实施例的描述中,除非另有说明,“多个”的含义是指两个或两个以上。例如,多个处理单元是指两个或两个以上的处理单元;多个***是指两个或两个以上的***。
待机时间是电子设备的一个重要指标。为了延长电子设备的待机时间,开发出了各种可以管控电子设备功耗的APP,本文将这类APP统称为功耗管控APP。例如,省电精灵即为一种功耗管控APP。
以省电精灵为例,功耗管控APP在电子设备灭屏情况下,根据电子设备是否处于绝对静止状态,决定是否冻结电子设备上的某些进程和服务,以进行功耗管控。
要实现功耗管控APP的功能,需要先获取绝对静止状态信息,即电子设备是否处于绝对静止状态。
绝对静止检测算法由运行在芯片MCU(Microcontroller Unit)上的Sensorhub(传感器控制中心)模块执行。
相关技术通过大型算法库中包括的绝对静止状态算法来进行绝对静止状态检测,并提供了从Sensorhub模块中的该大型算法库获取绝对静止状态信息的通路。其中,上述大型算法库包括绝对静止状态算法之外,通常还打包了很多其他功能的算法,因此运行大型算法库需要占用较大的低功耗内存空间。但是,一些芯片的低功耗内存空间较小,不能满足大型算法库对低功耗内存空间的要求,从而无法运行大型算法库。这样,低功耗内存空间较小的芯片无法利用相关技术的通路获取绝对静止状态信息。
本申请实施例提供一种绝对静止状态信息获取方法,能够在低功耗内存空间较小的芯片上获取到绝对静止状态信息,降低对芯片的要求。
本申请实施例中的绝对静止状态信息获取方法可以应用于手机、平板等电子设备。该电子设备的结构可以如图1所示。
图1为示例性示出的电子设备100的结构示意图。应该理解的是,图1所示电子设备100仅是电子设备的一个范例,并且电子设备100可以具有比图中所示的更多的或者更少的部件,可以组合两个或多个的部件,或者可以具有不同的部件配置。图1中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
请参见图1,电子设备100可以包括:处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是电子设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。
其中,电子设备100的软件***可以采用分层架构、事件驱动架构、微核架构、微服务架构,或云架构。本申请实施例以分层架构的安卓(Android)***为例,示例性说明电子设备100的软件结构。
图2为示例性示出的本申请实施例的电子设备100的软件结构框图。
电子设备100的分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,Android***可以包括应用程序层、应用程序框架层、***层以及内核层等。
应用程序层可以包括一系列应用程序包。
如图2所示,电子设备100的应用程序层的应用程序包可以包括相机、WLAN、蓝牙、短信息、图库、通话、省电精灵、MSDPService(Multimodal Sensor Data PlatformService,综合传感信息处理平台服务)等应用程序。MSDPService是一个***应用。
如图2所示,应用程序框架层可以包括资源管理器、手势服务(即MotionService)等应用程序模块。
其中,资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
其中,手势服务MotionService用于检测各种手势类型(MotionType),例如抬手动作、翻转、拿起电子设备到耳边、旋转屏、将电子设备拿离耳朵手等。本申请实施例中,MotionService包括新增的一种手势类型,该手势类型为绝对静止状态手势类型,可以通过绝对静止状态手势类型的变量来接收监听到的绝对静止状态的检测结果。
如图2所示,***库可以包括多个功能模块,例如:安卓运行时等。
本申请实施例中,在MSDPService中新增了一个类,本文将该新增的类称为Motion通路子类。Motion通路子类用于在MSDPService与MotionService之间建立通信通路,以便在MSDPService与MotionService之间传输信息。
内核层是硬件和软件之间的层。内核层可以包含显示驱动、传感器驱动等模块。
可以理解的是,图2示出的软件结构中的层以及各层中包含的部件,并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的层,以及每个层中可以包括更多或更少的部件,本申请不做限定。
下面通过实施例,对本申请进行详细说明。
图3为示例性示出的本申请实施例中绝对静止状态信息获取方法所涉及的各模块的运行环境示意图。如图3所示,本申请实施例中,绝对静止状态信息获取方法所涉及的软件模块可以包括省电精灵应用、MSDPService、MotionService、Sensorhub模块。其中,省电精灵应用、MSDPService和MotionService运行在电子设备的CPU(中央处理器)上,Sensorhub模块运行在电子设备的MCU上。其中,CPU和MCU可以位于不同的芯片上。其中,省电精灵是一个***应用,MotionService为一个服务进程。
本申请实施例中,MCU所在的芯片的低功耗内存空间较小,不能支持需要较大低功耗内存空间的算法库。因此,本实施例中,Sensorhub模块中设置的是需要很小低功耗内存空间的绝对静止状态算法库。绝对静止状态算法库不同于前述的大型算法库,绝对静止状态算法库可以只用于检测绝对静止状态,不包括其他功能的代码,因此,本实施例中的绝对静止状态算法库需要的低功耗内存空间较小,本文中将本实施例中的绝对静止状态算法库称为小型算法库。
请参见图3,本实施例中,MSDPService中包括Motion通路子类。通过对Motion通路子类进行实例化,可以创建Motion通路子类的对象A,在对象A与MotionService之间建立连接,即为在MSDPService与MotionService之间建立通信通路。MSDPService可以通过对象A向MotionService发送信息,并利用对象A接收MotionService返回的信息。相关技术中的MSDPService中不包括本实施例的Motion通路子类。
本实施例中,在MotionService中新增绝对静止状态的手势类型,并设置绝对静止状态手势类型的类型标识。上述对象A中包括绝对静止状态手势类型的类型标识。当对象A向MotionService发送通知时,通知中会包括绝对静止状态手势类型的类型标识。
MotionService接收到对象A的使能绝对静止状态监控的通知的过程可以是:对象A调用注册绝对静止状态监听函数,在调用时将绝对静止状态手势类型的类型标识作为参数之一传递给MotionService。这样,MotionService通过解析绝对静止状态手势类型的类型标识,就可以通知Sensorhub模块启动绝对静止状态检测。
MotionService接收到对象A的去使能绝对静止状态监控的通知的过程可以是:对象A调用去注册绝对静止状态监听函数,在调用时将绝对静止状态手势类型的类型标识作为参数之一传递给MotionService。这样,MotionService通过解析绝对静止状态手势类型的类型标识,就可以通知Sensorhub模块停止绝对静止状态检测。
其中,绝对静止状态检测由Sensorhub模块中设置的绝对静止状态算法库执行,绝对静止状态算法库的运行结果即为绝对静止状态检测结果。Sensorhub模块将绝对静止状态算法输出的绝对静止状态检测结果上报给MotionService。MotionService再通过第一回调函数将绝对静止状态检测结果返回给MSDPService。MSDPService将绝对静止状态检测结果处理成绝对静止状态信息,再通过第二回调函数将绝对静止状态信息结果返回给省电精灵应用。
相关技术中的MotionService中不包括本实施例的绝对静止状态手势类型。
图4为示例性示出的本申请实施例中绝对静止状态信息获取方法的流程示例图。请参见图4,本申请实施例中,绝对静止状态信息获取方法应用于电子设备,该方法可以包括如下步骤:
S401,MSDPService实例化Motion通路子类,创建Motion通路子类的对象A。
本申请实施例中的绝对静止状态信息获取方法可以应用于采用低功耗内存空间较小的芯片的电子设备。本文中将低功耗内存空间较小的芯片称为第一类型芯片。第一类型芯片的低功耗内存空间小于第一值。
据此,在本步骤之前,电子设备可以判断当前MCU所在芯片是否属于第一类型芯片。如果电子设备确定当前MCU所在芯片属于第一类型芯片,执行本步骤。如果电子设备确定当前MCU所在芯片不属于第一类型芯片,不执行本步骤,此时,电子设备不采用本申请实施例中的绝对静止状态信息获取方法获取绝对静止状态信息。
在一个示例中,可以将属于第一类型芯片的芯片名称存储在第一类型芯片白名单中,电子设备可以通过如下方式判断当前MCU所在芯片是否属于第一类型芯片:
读取当前MCU所在芯片的芯片名称;
判断读取的芯片名称是否在预设的第一类型芯片白名单中,第一类型芯片白名单中的所有芯片均属于第一类型芯片;
若是,确定当前MCU所在芯片属于第一类型芯片,否则确定当前MCU所在芯片不属于第一类型芯片。
S402,MSDPService中的对象A与MotionService建立连接。
MotionService服务在框架Framework中提供了一个操作类。MotionService服务通过该操作类中的getInstance函数可以获取Motion通路子类的对象。这样,就可以建立Motion通路子类的对象A与MotionService之间的连接。
需要说明的是,步骤S401和S402在电子设备开机后执行一次,后续在电子设备在关机之前,对象A与MotionService之间的连接一直存在,直至电子设备关机,对象A与MotionService之间的连接才断开。
S403,省电精灵应用与MSDPService建立连接。
省电精灵应用启动后,省电精灵应用即与MSDPService建立连接。当退出省电精灵应用后,省电精灵应用与MSDPService之间的连接断开。下一次省电精灵应用启动后,省电精灵应用再与MSDPService重新建立连接。
其中,省电精灵应用可以通过调用MSDPService***应用提供的SDK中connectService接口,来与MSDPService建立连接。
S404,当电子设备灭屏,省电精灵应用向MSDPService应用发送使能绝对静止状态监控的第一通知。
其中,安卓***提供动态监听屏幕亮、灭屏广播的能力,省电精灵应用可以通过监听屏幕亮、灭屏广播确定电子设备亮屏还是灭屏。
本步骤可以通过省电精灵应用通过调用MSDPService接口,向MSDPService接口传递启动监听的指令参数实现。
S405,MSDPService接收到第一通知,通过对象A将第一通知转发给MotionService。
在前述步骤S402中,对象A已经与MotionService建立了连接,本步骤中,对象A直接通过对象A与MotionService之间的连接将第一通知发送给MotionService。
S406,MotionService接收到第一通知,根据第一通知向Sensorhub模块发送指示启动绝对静止状态检测的第二通知。
MotionService根据第一通知向Sensorhub模块发送指示启动绝对静止状态检测的第二通知,可以通过如下方式实现:
对象A调用注册绝对静止状态监听函数,在调用时将绝对静止状态手势类型的类型标识传递给MotionService。MotionService解析出对象A传递的类型标识是绝对静止状态手势类型的类型标识,向Sensorhub模块发送指示启动绝对静止状态检测的指令,以便Sensorhub模块根据该指令启动运行绝对静止状态算法库。
需要说明的是,每次灭屏,对象A调用注册绝对静止状态监听函数;每次亮屏,对象A调用去注册绝对静止状态监听函数。绝对静止状态手势类型的类型标识是注册绝对静止状态监听函数和去注册绝对静止状态监听函数这两个函数的参数之一。
S407,Sensorhub模块接收到第二通知,根据第二通知启动绝对静止状态算法,进行绝对静止状态检测,并获得绝对静止状态算法输出的绝对静止状态检测结果。
该绝对静止状态检测结果例如可以是“当前为绝对静止状态”,或者可以是“当前为非绝对静止状态”。
其中,绝对静止状态算法的处理过程可以是:对加速度传感器的数据(x、y、z三个方向上的加速度值),输入已训练好的机器学习模型,由机器学习模型输出绝对静止状态检测结果。
需要说明的是,本实施例中,Sensorhub模块中配置的绝对静止检测算法是占用低功耗内存空间较小的小型绝对静止检测算法库,这样可以大幅度降低对芯片低功耗内存空间的要求。
不同于前述的大型算法库通常打包了很多功能的算法,该小型绝对静止检测算法库中可以只包括绝对静止状态算法,因此该小型算法库需要占用的低功耗内存空间很小,例如本实施例中使用的一种绝对静止检测算法的小型算法库只需占用4K的低功耗内存空间。
S408,Sensorhub模块将绝对静止状态检测结果发送给MotionService。
本步骤可以通过如下方式实现:
绝对静止状态算法库将绝对静止状态检测结果通过回调函数返回给MotionService。
S409,MotionService将绝对静止状态检测结果发送给MSDPService中的对象A。
对象A可以新建线程B,线程B用于接收MotionService发送的绝对静止状态检测结果。
示例性地,MotionService可以通过第一回调函数将绝对静止状态检测结果发送给MSDPService中的对象A。
S410,MSDPService中的对象A绝对静止状态检测结果发送给省电精灵应用。
示例性地,MSDPService中的对象A可以通过第二回调函数将绝对静止状态信息发送给省电精灵应用。
在每次电子设备灭屏时,电子设备都可以执行一次步骤S404至S410。
S411,当电子设备亮屏,省电精灵应用向MSDPService应用发送去使能绝对静止状态监控的第三通知。
S412,MSDPService接收到第三通知,通过对象A将第三通知转发给MotionService。
S413,MotionService接收到第三通知,根据第三通知向Sensorhub模块发送指示停止绝对静止状态检测的第四通知。
本步骤可以通过如下方式实现:
对象A调用去注册绝对静止状态监听函数,在调用时将绝对静止状态手势类型的类型标识作为参数之一传递给MotionService。MotionService解析出对象A传递的类型标识是绝对静止状态手势类型的类型标识,向Sensorhub模块发送指示停止绝对静止状态检测的指令,以便Sensorhub模块根据该指令停止运行绝对静止状态算法库。
S414,Sensorhub模块接收到第四通知,根据第四通知停止运行绝对静止状态算法,即停止绝对静止状态检测。
在每次电子设备亮屏时,电子设备都可以执行一次步骤S411至S414。
S415,当退出省电精灵应用,断开省电精灵应用与MSDPService之间的连接。
如果用户再次开启省电精灵应用,执行步骤S403。
需要说明的是,尽管图4所示示例中是以省电精灵应用为例进行的说明,但是,可以理解的是,本申请实施例的绝对静止状态信息获取方法也可以适用于其他的功耗管控APP,即可以用其他的功耗管控APP替换图4所示示例中的省电精灵应用。
图5为示例性示出的图4中步骤S410的过程示例图。请参见图5,本实施例中,MSDPService中的对象A将绝对静止状态检测结果发送给省电精灵应用的过程可以包括:
S501,对象A解析绝对静止状态检测结果,将绝对静止状态检测结果转换成绝对静止状态信息。
其中,绝对静止状态检测结果可以是:当前是绝对静止状态,或者当前是非绝对静止状态。
其中,绝对静止状态信息可以是指示进入绝对静止状态的信息或者退出绝对静止状态的信息。
S502,对象A构建MSDPService回调通知对象。
S503,对象A将绝对静止状态信息通过构建的MSDPService回调通知对象返回至省电精灵应用。
本申请实施例提供的绝对静止状态信息获取方法,利用MSDPService中新增的类实现MSDPService与MotionService的连通,利用MotionService中新增的手势类型监听Sensorhub模块的绝对静止状态检测结果,实现了一条由功耗管控APP通过MSDPService和MotionService从Sensorhub模块获取绝对静止状态检测结果的通路。
本申请实施例提供的绝对静止状态信息获取方法具有如下有益效果:
一方面,提供了一条不依赖大型算法库的从应用层的功耗管控APP到Sensorhub模块的通路,使得Sensorhub模块中可以配置占用低功耗内存空间较小的小型绝对静止检测算法库,从而能够在低功耗内存空间较小的芯片上获取到绝对静止状态信息,降低对芯片的要求。
另一方面,相对于基于虚拟Sensor通路的绝对静止检测方案,本申请实施例不需要注册多组Sensor,因此避免了虚拟Sensor通路的乒乓效应导致的频繁唤醒主进程问题,降低了功耗,从而进一步延长了待机时间。
并且,由于相关技术的Sensorhub模块中已经部署了支持MotionService的代码,本申请实施例由于采用MotionService与Sensorhub模块通信,因此可以复用Sensorhub模块中已经存在的支持MotionService的代码,从而无需在Sensorhub模块中增加大量的代码,节省了Sensorhub模块所占用的存储空间。
本申请实施例还提供一种电子设备,该电子设备包括存储器和处理器,存储器与处理器耦合,存储器存储有程序指令,当程序指令由所述处理器执行时,使得电子设备前述电子设备所执行的绝对静止状态信息获取方法。
可以理解的是,电子设备为了实现上述功能,其包含了执行各个功能相应的硬件和/或软件模块。结合本文中所公开的实施例描述的各示例的算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以结合实施例对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本实施例还提供一种计算机存储介质,该计算机存储介质中存储有计算机指令,当该计算机指令在电子设备上运行时,使得电子设备执行上述相关方法步骤实现上述实施例中的绝对静止状态信息获取方法。
本实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中的绝对静止状态信息获取方法。
另外,本申请实施例还提供一种装置,这个装置具体可以是芯片,组件或模块,该装置可包括相连的处理器和存储器;其中,存储器用于存储计算机执行指令,当装置运行时,处理器可执行存储器存储的计算机执行指令,以使芯片执行上述各方法实施例中的绝对静止状态信息获取方法。
其中,本实施例提供的电子设备、计算机存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
通过以上实施方式的描述,所属领域的技术人员可以了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
本申请各个实施例的任意内容,以及同一实施例的任意内容,均可以自由组合。对上述内容的任意组合均在本申请的范围之内。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。
结合本申请实施例公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(Random Access Memory,RAM)、闪存、只读存储器(Read Only Memory,ROM)、可擦除可编程只读存储器(Erasable Programmable ROM,EPROM)、电可擦可编程只读存储器(Electrically EPROM,EEPROM)、寄存器、硬盘、移动硬盘、只读光盘(CD-ROM)或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本申请实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。
Claims (12)
1.一种绝对静止状态信息获取方法,其特征在于,应用于电子设备,包括:
当所述电子设备灭屏,功耗管控应用通过第一***应用向服务进程MotionService发送第一通知,所述第一通知用于使能绝对静止状态监控;
MotionService根据所述第一通知,控制Sensorhub模块启动绝对静止状态检测;
MotionService接收Sensorhub模块发送的绝对静止状态检测结果;
MotionService通过所述第一***应用将所述绝对静止状态检测结果返回给所述功耗管控应用;
其中,所述功耗管控应用、所述第一***应用和MotionService运行在处理器中,所述Sensorhub模块运行在所述电子设备中的第一芯片上,所述处理器不在所述第一芯片上。
2.根据权利要求1所述的方法,其特征在于,还包括:
当所述电子设备亮屏,功耗管控应用通过所述第一***应用向MotionService发送第三通知,所述第三通知用于去使能绝对静止状态监控;
MotionService根据所述第三通知,控制Sensorhub模块停止绝对静止状态检测。
3.根据权利要求1所述的方法,其特征在于,Sensorhub模块中用于进行绝对静止状态检测的算法库占用的低功耗内存空间小于第一值。
4.根据权利要求1所述的方法,其特征在于,当所述电子设备灭屏,功耗管控应用通过第一***应用向服务进程MotionService发送第一通知,所述第一通知用于使能绝对静止状态监控之前,还包括:
建立所述第一***应用与MotionService之间的第一连接;
建立所述功耗管控应用与所述第一***应用之间的第二连接。
5.根据权利要求4所述的方法,其特征在于,建立所述第一***应用与MotionService之间的第一连接,包括:
所述第一***应用中包括新增的Motion通路子类,所述第一***应用创建Motion通路子类的第一对象,其中,Motion通路子类用于在所述第一***应用和MotionService之间建立通信通路;
MotionService通过第一操作类中的第一函数获取所述第一对象。
6.根据权利要求4所述的方法,其特征在于,当所述电子设备灭屏,功耗管控应用通过第一***应用向服务进程MotionService发送第一通知,所述第一通知用于使能绝对静止状态监控,包括:
当所述电子设备灭屏,功耗管控应用通过所述第二连接将第一通知发送给第一***应用,所述第一通知用于使能绝对静止状态监控;
所述第一***应用通过所述第一连接将所述第一通知转发给服务进程MotionService。
7.根据权利要求1所述的方法,其特征在于,MotionService根据所述第一通知,控制Sensorhub模块启动绝对静止状态检测,包括:
MotionService根据所述第一通知,向Sensorhub模块发送第二通知,所述第二通知用于指示启动绝对静止状态检测;
Sensorhub模块根据所述第二通知,启动绝对静止状态检测。
8.根据权利要求1所述的方法,其特征在于,MotionService通过所述第一***应用将所述绝对静止状态检测结果返回给所述功耗管控应用,包括:
MotionService通过第一回调函数将所述绝对静止状态检测结果返回给所述第一***应用;
所述第一***应用所述解析绝对静止状态检测结果,将所述绝对静止状态检测结果转换成绝对静止状态信息;
所述第一***应用通过第二回调函数将所述绝对静止状态信息返回给所述功耗管控应用。
9.根据权利要求2所述的方法,其特征在于,MotionService根据所述第三通知,控制Sensorhub模块停止绝对静止状态检测,包括:
MotionService根据所述第三通知,向Sensorhub模块发送第四通知,所述第四通知用于指示停止绝对静止状态检测;
Sensorhub模块根据所述第四通知,停止绝对静止状态检测。
10.根据权利要求1所述的方法,其特征在于,所述第一***应用为综合传感信息处理平台服务MSDPService。
11.一种电子设备,其特征在于,所述电子设备包括第一芯片,包括:
存储器和处理器,所述存储器与所述处理器耦合;
所述存储器存储有程序指令,当所述程序指令由所述处理器执行时,使得所述电子设备执行权利要求1-10中任意一项所述的绝对静止状态信息获取方法。
12.一种计算机可读存储介质,包括计算机程序,其特征在于,当所述计算机程序在电子设备上运行时,使得所述电子设备执行如权利要求1-10中任意一项所述的绝对静止状态信息获取方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210754965.4A CN116027876B (zh) | 2022-06-30 | 2022-06-30 | 绝对静止状态信息获取方法及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210754965.4A CN116027876B (zh) | 2022-06-30 | 2022-06-30 | 绝对静止状态信息获取方法及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116027876A true CN116027876A (zh) | 2023-04-28 |
CN116027876B CN116027876B (zh) | 2023-11-24 |
Family
ID=86069555
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210754965.4A Active CN116027876B (zh) | 2022-06-30 | 2022-06-30 | 绝对静止状态信息获取方法及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116027876B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150153807A1 (en) * | 2013-11-29 | 2015-06-04 | Pegatron Corporaton | Method for reducing power consumption and sensor management system for the same |
WO2017206862A1 (zh) * | 2016-05-31 | 2017-12-07 | 广东欧珀移动通信有限公司 | 一种基于亮屏锁的处理方法、装置、存储介质及电子设备 |
WO2021109882A1 (zh) * | 2019-12-02 | 2021-06-10 | Oppo广东移动通信有限公司 | 应用启动方法、装置、存储介质及电子设备 |
CN113242352A (zh) * | 2021-03-30 | 2021-08-10 | 上海闻泰电子科技有限公司 | 一种音乐播放程序的关闭方法、装置及计算机设备 |
WO2022126398A1 (zh) * | 2020-12-15 | 2022-06-23 | 华为技术有限公司 | 消息通知方法及装置 |
-
2022
- 2022-06-30 CN CN202210754965.4A patent/CN116027876B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150153807A1 (en) * | 2013-11-29 | 2015-06-04 | Pegatron Corporaton | Method for reducing power consumption and sensor management system for the same |
WO2017206862A1 (zh) * | 2016-05-31 | 2017-12-07 | 广东欧珀移动通信有限公司 | 一种基于亮屏锁的处理方法、装置、存储介质及电子设备 |
WO2021109882A1 (zh) * | 2019-12-02 | 2021-06-10 | Oppo广东移动通信有限公司 | 应用启动方法、装置、存储介质及电子设备 |
CN112988256A (zh) * | 2019-12-02 | 2021-06-18 | Oppo广东移动通信有限公司 | 应用启动方法、装置、存储介质及电子设备 |
WO2022126398A1 (zh) * | 2020-12-15 | 2022-06-23 | 华为技术有限公司 | 消息通知方法及装置 |
CN113242352A (zh) * | 2021-03-30 | 2021-08-10 | 上海闻泰电子科技有限公司 | 一种音乐播放程序的关闭方法、装置及计算机设备 |
Non-Patent Citations (1)
Title |
---|
记得诚: "你用过哪些传感器?sensorhub又是什么", pages 2, Retrieved from the Internet <URL:https://mp.weixin.qq.com/s/UBCYQ-R-k-pelTt3yOVTEA> * |
Also Published As
Publication number | Publication date |
---|---|
CN116027876B (zh) | 2023-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11698815B2 (en) | Method for resource allocation and related products | |
CN114461239B (zh) | 软件升级***和软件升级方法 | |
US20220217810A1 (en) | Data receiving method, data sending method, terminal, and network side device | |
US20230385112A1 (en) | Memory Management Method, Electronic Device, and Computer-Readable Storage Medium | |
CN115292052B (zh) | 内存回收方法、电子设备及计算机可读存储介质 | |
CN113472477B (zh) | 无线通信***及方法 | |
CN115757193A (zh) | 一种内存的管理方法及电子设备 | |
CN114461375B (zh) | 内存资源管理方法及电子设备 | |
CN114500241A (zh) | 一种异常复位处理的方法及终端设备 | |
CN113141575B (zh) | 跟踪区列表的更新方法、装置、设备及存储介质 | |
CN116027876B (zh) | 绝对静止状态信息获取方法及电子设备 | |
CN111026457B (zh) | 一种硬件配置方法、装置、存储介质及终端设备 | |
CN112035311B (zh) | 一种程序逻辑监控方法及装置 | |
CN111966425A (zh) | 进程清理方法、装置、存储介质及移动终端 | |
CN113821128A (zh) | 终端设备及其手势操作方法和介质 | |
CN106817370B (zh) | 传输网络数据的方法及装置 | |
CN115884142A (zh) | 蓝牙连接方法及电子设备 | |
CN111432502A (zh) | 随机接入方法、基站和终端设备 | |
CN114006969B (zh) | 一种窗口启动方法和电子设备 | |
CN111338452B (zh) | 模拟u盘加速充电的方法、***、存储介质及移动终端 | |
CN115915396B (zh) | 寻呼方法及电子设备 | |
CN117076089B (zh) | 应用管理方法、终端设备及存储介质 | |
CN116347559B (zh) | 电子设备的网络接入方法和网络接入装置 | |
CN116775345B (zh) | 一种数据传输方法及电子设备 | |
CN111654294B (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 |