CN106708501B - 活动监控方法及装置 - Google Patents

活动监控方法及装置 Download PDF

Info

Publication number
CN106708501B
CN106708501B CN201610942063.8A CN201610942063A CN106708501B CN 106708501 B CN106708501 B CN 106708501B CN 201610942063 A CN201610942063 A CN 201610942063A CN 106708501 B CN106708501 B CN 106708501B
Authority
CN
China
Prior art keywords
activity
front stage
application program
stage operation
event
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.)
Active
Application number
CN201610942063.8A
Other languages
English (en)
Other versions
CN106708501A (zh
Inventor
陈闯锋
孙志威
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201610942063.8A priority Critical patent/CN106708501B/zh
Publication of CN106708501A publication Critical patent/CN106708501A/zh
Application granted granted Critical
Publication of CN106708501B publication Critical patent/CN106708501B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Abstract

本发明公开了一种活动监控方法及装置,属于操作系统领域。所述方法包括:通过应用程序接收辅助功能发送的系统用户界面UI事件;所述系统UI事件携带有变化后的前台运行活动的活动数据,所述辅助功能是所述应用程序预先向操作系统开启的功能,所述辅助功能用于监控前台运行活动是否发生变化,所述前台运行活动用于指示最上层的用户界面;通过所述应用程序根据所述系统UI事件,确定所述变化后的前台运行活动;在所述变化后的前台运行活动是目标活动时,执行与所述目标活动对应的处理操作;解决了现有技术中监控前台运行活动时浪费CPU的时间片以及监控结果不准备的问题;达到了准确监控前台运行活动,保证系统性能的效果。

Description

活动监控方法及装置
技术领域
本发明实施例涉及操作系统领域,特别涉及一种活动监控方法及装置。
背景技术
在一些情况下,用户为了更好地使用终端设备中安装的应用程序,会使用系统增强类应用程序,由系统增强类应用程序对处于前台运行的应用程序进行监控,并在前台运行的应用程序是指定应用程序时,执行系统增强功能。以系统增强类应用程序是游戏加速类应用程序为例,用户安装有游戏应用程序和游戏加速类应用程序,当游戏加速类应用程序监控到游戏应用程序处于前台运行时,引导用户启用游戏加速类应用程序,对游戏应用程序进行加速。
通常情况下,系统增强类应用程序采用主动轮询的方式监控处于前台运行的应用程序。具体来讲,系统增强类应用程序每隔预定时间向终端设备的操作系统发送获取请求,再由操作系统根据该获取请求向系统增强类应用程序发送前台运行活动(Activity),系统增强类应用程序根据前台运行活动来确定处于前台运行的应用程序。其中,活动是一种包含用户界面的组件,用于实现与用户之间的交互,每个应用程序可以包括多个活动。前台运行活动是与位于最上层的用户界面(用户在屏幕上看到的用户界面)相对应的组件。
在上述监控过程中,由于轮询时间间隔难以把握,当轮询时间间隔较小即询问频率较高时,如果前台运行活动没有发生变化,则系统增强类应用程序连续多次获取到的活动都是相同的,由于每次询问都会耗费CPU的时间资源,在询问频率较高时会造成CPU的时间资源的浪费;当轮询时间间隔较大即询问频率较低时,系统增强类应用程序连续多次获取到的活动也可能是相同的,比如:系统增强类应用程序在第一时刻监控到前台运行活动为第一活动,在第二时刻监控到前台运行活动为第一活动,而在第一时刻和第二时刻之间的这段时间内,前台运行活动从第一活动切换为第二活动,又从第二活动切换为第一活动,则系统增强类应用程序未能检测到这期间的活动变化,造成监控结果不准确的问题。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种活动监控方法及装置。所述技术方案如下:
第一方面,提供了一种活动监控方法,该方法包括:
通过应用程序接收辅助功能发送的系统用户界面UI事件;所述系统UI事件携带有变化后的前台运行活动的活动数据,所述辅助功能是所述应用程序预先向操作系统开启的功能,所述辅助功能用于监控前台运行活动是否发生变化,所述前台运行活动用于指示最上层的用户界面;
通过所述应用程序根据所述系统UI事件,确定所述变化后的前台运行活动;
在所述变化后的前台运行活动是目标活动活动时,执行与所述目标活动活动对应的处理操作。
第二方面,提供了一种活动监控装置,该装置包括:
事件接收模块,用于通过应用程序接收辅助功能发送的系统用户界面UI事件;所述系统UI事件携带有变化后的前台运行活动的事件数据,所述辅助功能是所述应用程序预先向操作系统开启的功能,所述辅助功能用于监控前台运行活动是否发生变化,所述前台运行活动用于指示最上层的用户界面;
事件确定模块,用于通过所述应用程序根据所述系统UI事件,确定所述变化后的前台运行活动;
操作执行模块,用于在所述变化后的前台运行活动是目标活动时,执行与所述目标活动对应的处理操作。
本发明实施例至少包括如下技术效果:
通过操作系统中的辅助功能监控前台运行活动是否发生变化,当前台运行活动发生变化时,辅助功能向应用程序发送系统UI事件,应用程序根据系统UI事件确定变化后的前台运行活动,在变化后的前台运行活动是目标活动时执行与目标活动对应的处理操作,由于在监控到前台运行活动发生变化时,辅助功能会向应用程序发送系统UI事件,不需要应用程序主动获取前台运行活动,避免出现询问时间间隔不合适导致浪费CPU的时间片以及监控结果不准确的问题;达到了既能准确地监控前台运行活动,同时不会浪费CPU的时间片,从而保证系统性能的效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个示例性实施例提供的活动监控方法的流程图;
图2是本发明另一个示例性实施例提供的活动监控方法的流程图;
图3是本发明另一个示例性实施例提供的应用程序在操作系统中开启辅助功能的原理示意图;
图4是本发明另一个示例性实施例提供的活动监控方法的实施示意图;
图5是本发明另一个示例性实施例提供的活动监控方法的实施示意图;
图6是本发明另一个示例性实施例提供的活动监控方法的实施示意图;
图7是本发明一个示例性实施例提供的活动监控装置的框图;
图8是本发明一个示例性实施例提供的终端设备的框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本发明实施例可以由采用Android(安卓)操作系统的智能终端来实现,该智能终端可以是诸如智能手机、智能电视、平板电脑之类的电子设备。
请参考图1,其示出了本发明一个示例性实施例提供的活动监控方法的流程图。本实施例以该活动监控方法应用于采用Android操作系统的智能终端中来举例说明,如图1所示,该活动监控方法包括以下步骤:
步骤101,通过应用程序接收辅助功能发送的系统UI事件。
辅助功能(Accessibility)由Android操作系统提供。在Android操作系统中,辅助功能用于帮助用户更加简单地操作终端,辅助功能包括文字转语音、触觉反馈、手势操作、轨迹球、手柄操作等多种功能,以及开发者可以搭建自己所需的辅助功能来增加应用程序的可用性,比如:声音提示、物理反馈、监控前台运行活动等其他可选的操作模式。
本发明提供的实施例中,该辅助功能是应用程序预先向操作系统开启的功能,该辅助功能用于监控前台运行活动是否发生变化。
在辅助功能监控到前台运行活动发生变化时,辅助功能向应用程序发送系统UI事件。
活动是一种包含用户界面的组件,用于实现与用户之间的交互,每个应用程序可以包括多个活动。前台运行活动是位于最上层的用户界面相对应的组件。最上层的用户界面是用户在使用终端时在屏幕上看见的用户界面。
比如:终端的用户界面显示的某游戏应用程序的启动界面,即前台运行活动是某游戏应用程序正在启动;或者,终端的用户界面显示的是支付某商品的支付界面,即前台运行活动是对某商品进行支付。
又比如:用户界面中原本显示的是微信朋友圈,用户返回微信聊天界面,用户界面切换为微信聊天界面,前台运行活动从微信朋友圈变为微信聊天;或者,用户界面中原本显示的是某购物网站,用户在某购物网站选择支付,用户界面切换为支付界面,前台运行活动从某购物网站浏览变为支付。
系统UI事件携带有变化后的前台运行活动的活动数据。当应用程序接收到辅助功能发送的系统UI事件时,说明前台运行活动发生了变化,应用程序能够从系统UI事件获知变化后的前台运行活动。
步骤102,通过应用程序根据系统UI事件,确定变化后的前台运行活动。
应用程序根据系统UI事件确定变化后的前台运行活动,实现应用程序对前台运行活动的监控。
步骤103,在变化后的前台运行活动是目标活动时,执行与目标活动对应的处理操作。
综上所述,本发明实施例所提供的活动监控方法,通过操作系统中的辅助功能监控前台运行活动是否发生变化,当前台运行活动发生变化时,辅助功能向应用程序发送系统UI事件,应用程序根据系统UI事件确定变化后的前台运行活动,在变化后的前台运行活动是目标活动时执行与目标活动对应的处理操作,由于在监控到前台运行活动发生变化时,辅助功能会向应用程序发送系统UI事件,不需要应用程序主动获取前台运行活动,避免出现询问时间间隔不合适导致浪费CPU的时间片以及监控结果不准确的问题;达到了既能准确地监控前台运行活动,同时不会浪费CPU的时间片,从而保证系统性能的效果。
请参考图2,其示出了本发明另一个示例性实施例提供的活动监控方法的流程图。本实施例以该活动监控方法应用于采用Android操作系统的智能终端中来举例说明,如图2所示,该活动监控方法包括以下步骤:
步骤201,通过应用程序在操作系统中开启辅助功能。
可选的,在第一次安装应用程序时,由应用程序自动开启辅助功能;或者,在安装应用程序后,在第一次启动应用程序时,由应用程序自动开启辅助功能。
应用程序不需要在系统UI(User Interface,用户界面)界面借助用户开启辅助功能,应用程序在具备Root权限时,自动在应用内部开启辅助功能。
具体地,通过应用程序在Root权限下,调用content命令设置辅助功能服务使能字段的字段参数来开启辅助功能。
可选地,在调用content命令设置辅助功能服务使能字段之前,需要检测系统版本是否小于预定版本;若系统版本小于预定版本,则确定用于开启辅助功能的content命令为content insert命令;若系统版本不小于预定版本,则确定用于开启辅助功能的content命令为content call命令。
可选的,预定版本为版本18(Api level=18),当Api level≥18时,系统支持content call命令,确定用于开启辅助功能的content命令为content call命令;当Apilevel<18时,系统支持content insert命令,确定用于开启辅助功能的content命令为content insert命令。
请参考图3,其示例性地示出了应用程序在操作系统中开启辅助功能的原理示意图。在应用程序开启辅助功能的过程中,应用程序首先检测自身是否有Root权限31;若有Root权限31则继续检测系统版本是否小于预定版本,若系统版本小于预定版本,则确定用于开启辅助功能的content命令为content insert命令33,若系统版本不小于预定版本,则确定用于开启辅助功能的content命令为content call命令34;通过调用确定的content命令添加应用程序的辅助功能服务名称35,通过调用确定的content命令将辅助功能服务使能字段对应的使能状态设置为开启状态36,实现应用程序在操作系统中开启辅助功能。
由图3可知,该步骤可由如下两个步骤具体实现:
一、调用content命令将应用程序的辅助功能服务名称拼接在辅助功能服务使能字段对应的值中。
可选的,将应用程序的辅助功能服务名称拼接在辅助功能服务使能字段对应的值中的实现方式为:获取辅助功能服务使能字段对应的值,在辅助功能服务使能字段对应的值之后添加应用程序的辅助功能服务名称作为新的值,用新的值替代原来的辅助功能服务使能字段对应的值。比如:原来的辅助功能服务使能字段对应的值为“值1”,应用程序的辅助功能服务名称为“名称1”,则新的值为“值1+名称1”,再利用“值1+名称1”替换“值1”。
如此,将应用程序的主件名也即辅助功能服务名称,拼接到了辅助服务使能字段中。
二、调用content命令将辅助功能服务使能字段对应的使能状态设置为开启状态。
可选地,辅助功能服务使能字段对应的使能状态包括:开启状态或关闭状态。应用程序需要调用content命令将辅助功能服务使能字段对应的使能状态设置为开启状态。
可选的,辅助功能服务使能字段为enabled_accessibility_services字段。
根据系统版本的不同,上述两个步骤的具体实现如下:
一、当系统版本不小于预定版本时,调用content call命令开启辅助功能具体为:
1、通过应用程序在Root权限下,调用content call命令将辅助功能服务(accessibility services)主件名拼接在enabled_accessibility_services字段对应的值中。
代码实现为:
Content call—uri content//settings/secure—method PUT_secure
-arg enabled_accessibility_services—extra value:s:newValue—extra_user:i:0
其中,newValue为添加指定的应用程序的辅助功能服务(accessibilityservices)主件名后的字符串,也即newValue既包括之前开启过辅助功能的应用程序的辅助功能服务名称,也包括新开启辅助功能的应用程序的辅助功能服务名称。extra_user:i:0用于表示在Root权限下开启辅助功能。
2、通过应用程序在Root权限下,调用content call命令将enabled_accessibility_services字段对应的使能状态设置为开启状态。
代码实现为:
Content call—uri content//settings/secure—method PUT_secure
-arg enabled_accessibility_services—extra value:i:1—extra_user:i:0
二、当系统版本小于预定版本时,调用content insert命令开启辅助功能具体为:
1、通过应用程序在Root权限下,调用content insert命令将辅助功能服务(accessibility services)主件名拼接在enabled_accessibility_services字段对应的值中。
代码实现为:
Content insert—uri content//settings/secure—bind name:s:
enabled_accessibility_services—bind value:s:newValue
其中,newValue为添加指定的应用程序的辅助功能服务(accessibilityservices)主件名后的字符串,也即newValue既包括之前开启过辅助功能的应用程序的辅助功能服务名称,也包括新开启辅助功能的应用程序的辅助功能服务名称。
2、通过应用程序在Root权限下,调用content insert命令将enabled_accessibility_services字段对应的使能状态设置为开启状态。
代码实现为:
Content insert—uri content//settings/secure—
bind name:s:accessibility_enabled—bind value:s:1
可选的,在第一次安装应用程序时,由应用程序自动开启辅助功能;或者,在安装应用程序后,在第一次启动应用程序时,由应用程序自动开启辅助功能。
步骤202,通过应用程序在操作系统中注册系统UI事件。
注册用于指示辅助功能监控前台运行活动是否发生变化。
辅助功能具有多种功能,包括文字转语音、触觉反馈、手势操作、轨迹球、手柄操作、声音提示、物理反馈等功能;由于应用程序开启辅助功能是将全部的辅助功能开启,而应用程序只需要使用辅助功能中能够监控前台运行活动的功能,因此,在开启辅助功能后应用程序在系统中注册系统UI事件,在注册系统UI事件后,与该应用程序对应的辅助功能仅用于监控前台运行活动是否发生变化。
具体地,通过应用程序在系统中注册TYPE_STATE_CHANGED事件。
在开启辅助功能之后,通过应用程序在系统中注册TYPE_STATE_CHANGED事件,注册TYPE_STATE_CHANGED事件之后,辅助功能用于监控当前前台运行的事件是否发生变化。也即TYPE_STATE_CHANGED事件用于指示辅助功能用于监控当前前台运行的事件是否发生变化。
步骤203,通过应用程序接收辅助功能发送的系统UI事件。
系统UI事件携带有变化后的前台运行活动的活动数据。
在Android操作系统,活动(Activity)是可以层叠的,每当启动一个新的活动,新的活动就会覆盖在原活动之上;使用活动栈存放启动的活动,活动栈是一种后进先出的数据结构,在默认情况下,每启动一个活动,该活动就会在活动栈中入栈,并处于栈顶位置,处于栈顶位置的活动是前台运行活动。当前台运行活动发生变化时,活动栈中处于栈顶位置的活动也会发生变化,辅助功能监控到前台运行活动发生变化,辅助功能向应用程序发送系统UI事件,应用程序接收系统UI事件。
需要说明的是,除了新的活动会位于栈顶,将一个旧的活动切换到前台运行时,该旧的活动也会重新移动到栈顶。
可选的,辅助功能向应用程序发送TYPE_STATE_CHANGED事件,应用程序接收TYPE_STATE_CHANGED事件。
比如:应用程序为游戏加速类应用程序A,原来的前台运行活动是系统首页,用户启动游戏应用程序B,此时,前台运行活动为游戏应用程序B,前台运行活动发生变化,辅助功能向游戏加速类应用程序A发送TYPE_STATE_CHANGED事件,应用程序接收TYPE_STATE_CHANGED事件。
可选地,在前台运行活动发生变化时,辅助功能向所有开启了辅助功能的应用程序发送系统UI事件,所有开启了辅助功能的应用程序都会接收到系统UI事件。比如:如图4所示,开启了辅助功能的应用程序包括游戏加速类应用程序43,当前台运行活动发生变化时,发送TYPE_STATE_CHANGED事件42至所有开启了辅助功能的应用程序:游戏加速类应用程序43和其他应用程序44,游戏加速类应用程序接收到TYPE_STATE_CHANGED事件42后,对TYPE_STATE_CHANGED事件42进行解析,执行处理操作45,其他应用程序44根据自身配置选择是否执行处理操作。
步骤204,通过应用程序确定系统UI事件的类型。
应用程序从接收到的系统UI事件中读取出系统UI事件的类型。
步骤205,检测系统UI事件的类型是否是预定类型。
为了避免应用程序处理接收到的所有的系统UI事件,应用程序需要检测系统UI事件的类型是否是预定类型。
可选的,预定类型预先在应用程序中定义的事件类型,各个应用程序只处理预定类型的系统UI事件。比如:对应用程序进行预先设置,该应用程序只处理事件类型为类型1和类型2的系统UI事件,接收到的系统UI事件的类型为类型4时,应用程序不处理接收到的系统UI事件。再比如:应用程序为游戏加速类应用程序,游戏加速类应用程序只处理事件类型是与游戏有关的,当游戏加速类应用程序接收到的系统UI事件为支付类事件时,游戏加速类应用程序不对接收到的系统UI事件进行处理,当游戏加速类应用程序接收到的系统UI事件的类型与游戏有关时,游戏加速类应用程序对接收到的系统UI事件进行处理。
若检测到系统UI事件的类型是预定类型,则执行步骤206;若检测到系统UI事件的类型不是预定类型,则不继续执行。
步骤206,若系统UI事件的类型是预定类型,则通过应用程序从系统UI事件中解析出活动数据。
可选的,应用程序从函数onAccessibilityEvent(AccessibilityEvent event)中获取AccessibilityEvent,并对AccessibilityEvent进行解析,得到活动数据,该活动数据为AccessibilityRecordCompat类型的数据。
由于AccessibilityEvent是封装事件,因此需要将AccessibilityEvent进行解析,并从兼容性考虑,根据应用程序的版本解析为AccessibilityRecordCompat类型的数据类型的数据。
步骤207,从活动数据中获取变化后的前台运行活动的包名和类名。
包名用于表示变化后的前台运行活动所属的应用程序,类名用于表示变化后的前台运行活动的内容。
可选的,通过函数getPackageName()从活动数据AccessibilityRecordCompat中获取变换后的前台运行活动的包名;根据包名可以确定变化后的前台运行活动的所属的应用程序。
可选的,通过函数getClassName()从活动数据AccessibilityRecordCompat中获取变化后的前台运行活动的类名;根据类型可以确定变化后的前台运行活动的的内容。
比如:根据获取到的包名确定变化后的前台运行活动的属于游戏应用B,根据获取到的类型确定变化后的前台运行活动的内容为开启游戏应用B。
步骤208,根据包名和类名确定变化后的前台运行活动。
比如:根据包名和类名确定变化后的前台运行活动的为游戏应用B正在开启。
步骤209,在变化后的前台运行活动的是目标活动时,执行与目标活动对应的处理操作。
当变化后的前台运行活动是支付类活动时,对支付环境进行安全性检测。
比如:应用程序为安全类应用程序:手机助手,变化后的前台运行活动是使用微信钱包对某物品进行支付,则手机助手检测当前微信钱包的支付环境,若当前的支付环境不存在风险则不提示用户,若当前的支付环境存在风险,则提示用户支付存在风险,如图5所示,用户界面显示提醒弹框51,用户可点击提醒弹框51中的取消支付控件52来取消当前支付。
当变化后的前台运行活动是游戏启动类活动时,对启动的游戏应用程序进行加速。
比如:应用程序为游戏加速类应用程序:游戏盒子,当变化后的前台运行活动是开启游戏应用B时,游戏盒子提示用户开启游戏加速器,如图6所示,用户显示界面显示提醒弹框61,用户点击提醒弹框61中的立即增强控件62时,游戏盒子立即对游戏应用B进行加速;或,当变化后的前台运行活动是用户退出游戏应用B时,游戏盒子向用户推荐其他与游戏应用B相关的游戏应用。
当变化后的前台运行活动是垃圾信息显示类活动时,对垃圾信息进行拦截。
比如:应用程序为安全类应用程序时,当变化后的前台运行活动是恶意广告弹窗时,对恶意广告弹窗进行拦截。
当变化后的前台运行活动是预定消息接收类活动时,为对预定消息进行接收提醒。
可选的,使用弹窗方式对预定消息进行接收提醒。
比如:应用程序为系统增强类应用程序,预定消息为红包类消息,当变化后的前台运行活动是接收到微信红包时,应用程序提醒用户接收到微信红包;或预定消息为语音通话请求或视频通话请求,当变化后的当前前台运行的事件为接收到语音通话请求或视频通话请求,应用程序提醒用户接听通话请求。
综上所述,本发明实施例所提供的活动监控方法,通过操作系统中的辅助功能监控前台运行活动是否发生变化,当前台运行活动发生变化时,辅助功能向应用程序发送系统UI事件,应用程序根据系统UI事件确定变化后的前台运行活动,在变化后的前台运行活动是目标活动时执行与目标活动对应的处理操作,由于在监控到前台运行活动发生变化时,辅助功能会向应用程序发送系统UI事件,不需要应用程序主动获取前台运行活动,避免出现询问时间间隔不合适导致浪费CPU的时间片以及监控结果不准确的问题;达到了既能准确地监控前台运行活动,同时不会浪费CPU的时间片,从而保证系统性能的效果。
此外,还通过在接收到辅助功能发送的系统UI事件时,判断系统UI事件的类型是否是预定类型时,当系统UI时间的类型是预定类型时,通过应用程序解析系统UI事件,确定变化后的前台运行活动,避免应用程序解析所有接收到的系统UI事件,节省了系统的计算资源和时间资源。
此外,还通过应用程序在操作系统开启辅助功能,并在操作系统注册系统UI事件,由于注册了系统UI事件,辅助功能只用于监控前台运行活动,避免使用辅助功能提供的全部服务,避免浪费系统的时间资源,不影响用户使用终端。
以下为本发明实施例的装置实施例,对于装置实施例中未详细阐述的细节,可以参考对应的方法实施例。
请参考图7,其示出了本发明实施例示出的一种活动监控装置的结构方框图。该活动监控装置可以通过软件、硬件或者两者的结合实现成为上述可提供活动监控方法的终端设备的全部或一部分。该装置包括:
事件接收模块710,用于实现上述步骤101、203的功能;
事件确定模块720,用于实现上述步骤102、207、208的功能;
执行操作模块730,用于实现上述步骤103、209的功能。
可选的,事件确定模块720,用于实现上述步骤的功能。
可选的,该装置还包括:
开启模块,用于实现上述步骤201的功能;
注册模块,用于实现上述步骤202的功能。
可选的,该装置还包括:
第一检测模块,用于实现步骤201中功能。
第一确定模块,用于实现步骤201中的功能。
第二确定模块,用于实现步骤201中的功能。
可选的,该装置还包括:
类型确定模块,用于实现上述步骤204的功能。
第二检测模块,用于实现上述步骤205的功能
执行模块,用于实现上述步骤206的功能。
综上所述,本发明实施例所提供的活动监控装置,通过操作系统中的辅助功能监控前台运行活动是否发生变化,当前台运行活动发生变化时,辅助功能向应用程序发送系统UI事件,应用程序根据系统UI事件确定变化后的前台运行活动,在变化后的前台运行活动是目标活动时执行与目标活动对应的处理操作,由于在监控到前台运行活动发生变化时,辅助功能会向应用程序发送系统UI事件,不需要应用程序主动获取前台运行活动,避免出现询问时间间隔不合适导致浪费CPU的时间片以及监控结果不准确的问题;达到了既能准确地监控前台运行活动,同时不会浪费CPU的时间片,从而保证系统性能的效果。
需要说明的是:上述实施例中提供的活动监控装置在监控事件时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将终端设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的活动监控置与活动监控方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
请参考图8,其示出了本发明一个实施例提供的终端设备800的框图,该终端设备可以包括射频(RF,Radio Frequency)电路801、包括有一个或一个以上计算机可读存储介质的存储器802、输入单元803、显示单元804、传感器805、音频电路806、无线保真(WiFi,Wireless Fidelity)模块807、包括有一个或者一个以上处理核心的处理器804、以及电源809等部件。本领域技术人员可以理解,图8中示出的终端设备结构并不构成对终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
RF电路801可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器804处理;另外,将涉及上行的数据发送给基站。通常,RF电路801包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM,Subscriber Identity Module)卡、收发信机、耦合器、低噪声放大器(LNA,Low Noise Amplifier)、双工器等。此外,RF电路801还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(GSM,Global System of Mobile communication)、通用分组无线服务(GPRS,GeneralPacket Radio Service)、码分多址(CDMA,Code Division Multiple Access)、宽带码分多址(WCDMA,Wideband Code Division Multiple Access)、长期演进(LTE,Long TermEvolution)、电子邮件、短消息服务(SMS,Short Messaging Service)等。
存储器802可用于存储软件程序以及模块,处理器808通过运行存储在存储器802的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器802可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端设备的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器802可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器802还可以包括存储器控制器,以提供处理器808和输入单元803对存储器802的访问。
输入单元803可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,在一个具体的实施例中,输入单元803可包括触敏表面以及其他输入设备。触敏表面,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面上或在触敏表面附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器808,并能接收处理器808发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面。除了触敏表面,输入单元803还可以包括其他输入设备。具体地,其他输入设备可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元804可用于显示由用户输入的信息或提供给用户的信息以及终端设备的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元404可包括显示面板,可选的,可以采用液晶显示器(LCD,Liquid CrystalDisplay)、有机发光二极管(OLED,Organic Light-Emitting Diode)等形式来配置显示面板。进一步的,触敏表面可覆盖显示面板,当触敏表面检测到在其上或附近的触摸操作后,传送给处理器808以确定触摸事件的类型,随后处理器808根据触摸事件的类型在显示面板上提供相应的视觉输出。虽然在图8中,触敏表面与显示面板是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面与显示面板集成而实现输入和输出功能。
终端设备还可包括至少一种传感器805,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板的亮度,接近传感器可在终端设备移动到耳边时,关闭显示面板和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端设备还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路806、扬声器,传声器可提供用户与终端设备之间的音频接口。音频电路806可将接收到的音频数据转换后的电信号,传输到扬声器,由扬声器转换为声音信号输出;另一方面,传声器将收集的声音信号转换为电信号,由音频电路806接收后转换为音频数据,再将音频数据输出处理器808处理后,经RF电路801以发送给比如另一终端设备,或者将音频数据输出至存储器802以便进一步处理。音频电路806还可能包括耳塞插孔,以提供外设耳机与终端设备的通信。
WiFi属于短距离无线传输技术,终端设备通过WiFi模块807可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图8示出了WiFi模块807,但是可以理解的是,其并不属于终端设备的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器808是终端设备的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器802内的软件程序和/或模块,以及调用存储在存储器802内的数据,执行终端设备的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器808可包括一个或多个处理核心;优选的,处理器808可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器808中。
终端设备还包括给各个部件供电的电源809(比如电池),优选的,电源可以通过电源管理系统与处理器808逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源809还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管未示出,终端设备还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,终端设备中的处理器808会运行存储在存储器802中的一个或一个以上的程序指令,从而实现上述各个方法实施例中所提供的活动监控方法。
本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中的存储器中所包含的计算机可读存储介质;也可以是单独存在,未装配入终端中的计算机可读存储介质。该计算机可读存储介质存储有一个或者一个以上程序,该一个或者一个以上程序被一个或者一个以上的处理器用来执行活动监控方法。
需要说明的是:上述实施例提供的活动监控装置在监控事件时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的活动监控装置与活动监控方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (17)

1.一种活动监控方法,其特征在于,所述方法包括:
通过应用程序在操作系统中开启辅助功能;
通过所述应用程序在所述操作系统中注册系统用户界面UI事件,所述注册用于指示所述辅助功能监控前台运行活动是否发生变化;
通过所述应用程序接收所述辅助功能发送的所述系统用户界面UI事件;所述系统用户界面UI事件携带有变化后的前台运行活动的活动数据,所述辅助功能是所述应用程序预先向所述操作系统开启的功能,所述辅助功能用于监控所述前台运行活动是否发生变化,所述前台运行活动对应于屏幕上位于最上层的用户界面;
通过所述应用程序根据所述系统用户界面UI事件,确定所述变化后的前台运行活动;
在所述变化后的前台运行活动是目标活动时,执行与所述目标活动对应的处理操作。
2.根据权利要求1所述的方法,其特征在于,所述通过所述应用程序根据所述系统用户界面UI事件,确定所述变化后的前台运行活动,包括:
通过所述应用程序从所述系统用户界面UI事件中解析出所述活动数据;
从所述活动数据中获取所述变化后的前台运行活动的包名和类名;所述包名用于表示所述变化后的前台运行活动所属的应用程序,所述类名用于表示所述变化后的前台运行活动的内容;
根据所述包名和所述类名确定所述变化后的前台运行活动。
3.根据权利要求1所述的方法,其特征在于,所述通过所述应用程序在所述操作系统中开启所述辅助功能,包括:
通过所述应用程序在Root权限下,调用content命令设置辅助功能服务使能字段的字段参数来开启所述辅助功能。
4.根据权利要求3所述的方法,其特征在于,所述调用content命令设置辅助功能服务使能字段的字段参数来开启所述辅助功能,包括:
调用所述content命令将所述应用程序的辅助功能服务名称拼接在所述辅助功能服务使能字段对应的值中;
调用所述content命令将所述辅助功能服务使能字段对应的使能状态设置为开启状态。
5.根据权利要求3所述的方法,其特征在于,所述调用content命令设置辅助功能服务使能字段的字段参数来开启所述辅助功能之前,所述方法还包括:
检测所述操作系统的系统版本是否小于预定版本;
若所述系统版本小于所述预定版本,则确定用于开启所述辅助功能的所述content命令为content insert命令;
若所述系统版本不小于所述预定版本,则确定用于开启所述辅助功能的所述content命令为content call命令。
6.根据权利要求1至5任一所述的方法,其特征在于,所述通过所述应用程序在所述操作系统中注册所述系统用户界面UI事件,包括:
通过所述应用程序在所述操作系统中注册TYPE_STATE_CHANGED事件。
7.根据权利要求1至5任一所述的方法,其特征在于,所述通过所述应用程序根据所述系统用户界面UI事件,确定所述变化后的前台运行活动之前,所述方法还包括:
通过所述应用程序确定所述系统用户界面UI事件的类型;
检测所述系统用户界面UI事件的类型是否是预定类型;
若所述系统用户界面UI事件的类型是预定类型,则执行所述通过所述应用程序根据所述系统用户界面UI事件,确定所述变化后的前台运行活动的步骤。
8.根据权利要求1至5任一所述的方法,其特征在于,所述在所述变化后的前台运行活动是目标活动时,执行与所述目标活动对应的处理操作,包括:
当所述变化后的前台运行活动是支付类活动时,对支付环境进行安全性检测;
当所述变化后的前台运行活动是游戏启动类活动时,对启动的游戏应用程序进行加速;
当所述变化后的前台运行活动是垃圾信息显示类活动时,对所述垃圾信息进行拦截;
当所述变化后的前台运行活动是预定消息接收类活动时,对所述预定消息进行接收提醒。
9.一种活动监控装置,其特征在于,所述装置包括:
开启模块,用于通过应用程序在操作系统中开启辅助功能;
注册模块,用于通过所述应用程序在所述操作系统中注册系统用户界面UI事件,所述注册用于指示所述辅助功能监控前台运行活动是否发生变化;
事件接收模块,用于通过所述应用程序接收所述辅助功能发送的所述系统用户界面UI事件;所述系统用户界面UI事件携带有变化后的前台运行活动的活动数据,所述辅助功能是所述应用程序预先向所述操作系统开启的功能,所述辅助功能用于监控前台运行活动是否发生变化,所述前台运行活动用于指示最上层的用户界面;
事件确定模块,用于通过所述应用程序根据所述系统用户界面UI事件,确定所述变化后的前台运行活动;
操作执行模块,用于在所述变化后的前台运行活动是目标活动时,执行与所述目标活动对应的处理操作。
10.根据权利要求9所述的装置,其特征在于,所述事件确定模块,包括:
解析单元,用于通过所述应用程序从所述系统用户界面UI事件中解析出所述活动数据;
获取单元,用于从所述活动数据中获取所述变化后的前台运行活动的包名和类名;所述包名用于表示所述变化后的前台运行活动所属的应用程序,所述类名用于表示所述变化后的前台运行活动的内容;
事件确定单元,用于根据所述包名和所述类名确定所述变化后的前台运行活动。
11.根据权利要求9所述的装置,其特征在于,所述开启模块,用于通过所述应用程序在Root权限下,调用content命令设置辅助功能服务使能字段的字段参数来开启所述辅助功能。
12.根据权利要求11所述的装置,其特征在于,所述开启模块,具体用于:
调用所述content命令将所述应用程序的辅助功能服务名称拼接在所述辅助功能服务使能字段对应的值中;
调用所述content命令将所述辅助功能服务使能字段对应的使能状态设置为开启状态。
13.根据权利要求11所述的装置,其特征在于,所述装置还包括:
第一检测模块,用于检测所述操作系统的系统版本是否小于预定版本;
第一确定模块,用于若所述系统版本小于所述预定版本,则确定用于开启所述辅助功能的所述content命令为content insert命令;
第二确定模块,用于若所述系统版本不小于所述预定版本,则确定用于开启所述辅助功能的所述content命令为content call命令。
14.根据权利要求9至13任一所述的装置,其特征在于,所述注册模块,用于通过所述应用程序在所述操作系统中注册TYPE_STATE_CHANGED事件。
15.根据权利要求9至13任一所述的装置,其特征在于,所述装置还包括:
类型确定模块,用于通过所述应用程序确定所述系统用户界面UI事件的类型;
第二检测模块,用于检测所述系统用户界面UI事件的类型是否是预定类型;
执行模块,用于若所述系统用户界面UI事件的类型是预定类型,则执行所述通过所述应用程序根据所述系统用户界面UI事件,确定所述变化后的前台运行活动的步骤。
16.根据权利要求9至13任一所述的装置,其特征在于,所述操作执行模块,用于:
当所述变化后的前台运行活动是支付类活动时,对支付环境进行安全性检测;
当所述变化后的前台运行活动是游戏启动类活动时,对启动的游戏应用程序进行加速;
当所述变化后的前台运行活动是垃圾信息显示类活动时,对所述垃圾信息进行拦截;
当所述变化后的前台运行活动是预定消息接收类活动时,对所述预定消息进行接收提醒。
17.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有程序,所述程序由处理器执行以实现如权利要求1至8任一项所述的活动监控方法。
CN201610942063.8A 2016-10-25 2016-10-25 活动监控方法及装置 Active CN106708501B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610942063.8A CN106708501B (zh) 2016-10-25 2016-10-25 活动监控方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610942063.8A CN106708501B (zh) 2016-10-25 2016-10-25 活动监控方法及装置

Publications (2)

Publication Number Publication Date
CN106708501A CN106708501A (zh) 2017-05-24
CN106708501B true CN106708501B (zh) 2019-08-20

Family

ID=58940438

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610942063.8A Active CN106708501B (zh) 2016-10-25 2016-10-25 活动监控方法及装置

Country Status (1)

Country Link
CN (1) CN106708501B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109800567B (zh) * 2019-01-17 2021-09-17 网宿科技股份有限公司 监听前台应用启动的方法及装置、终端设备
CN112230924A (zh) * 2020-11-09 2021-01-15 平安普惠企业管理有限公司 弹框提示方法、装置、计算机设备及存储介质
CN115981767B (zh) * 2022-12-27 2023-07-18 深圳市赛诺杰科技有限公司 一种车载显示屏及其显示控制方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104731302B (zh) * 2013-12-20 2018-01-12 北京猎豹移动科技有限公司 一种移动终端省电操作的方法及系统
CN105094576B (zh) * 2014-04-21 2018-05-08 北京奇虎科技有限公司 应用程序场景切换方法和装置
CN105843650B (zh) * 2016-03-31 2020-03-31 青岛海信移动通信技术股份有限公司 一种智能终端中的应用程序管理方法和装置

Also Published As

Publication number Publication date
CN106708501A (zh) 2017-05-24

Similar Documents

Publication Publication Date Title
US10635449B2 (en) Method and apparatus for running game client
CN103544033B (zh) 应用程序回退方法、装置及相关设备
CN104519485B (zh) 一种终端之间的通信方法、装置和系统
CN104735671B (zh) 一种识别恶意电话的方法和装置
CN106462697B (zh) 辅助服务管理方法及装置
EP3306865A1 (en) Communication message sending method and device
CN105278937B (zh) 一种显示弹出框消息的方法及装置
CN104093123B (zh) 应用程序的信息推送方法、装置和系统、移动终端
CN106502906B (zh) 一种测试应用程序的方法和装置
US10652287B2 (en) Method, device, and system for managing information recommendation
CN106371964B (zh) 一种进行消息提示的方法和装置
CN103500002A (zh) 应用程序管理的方法、装置及终端设备
CN108255683B (zh) 终端中消息提示的方法和终端
CN104965722B (zh) 一种显示信息的方法及装置
CN104077184B (zh) 一种应用程序的进程控制方法及计算机系统
CN104424211B (zh) 一种基于微博的业务数据的发布方法、装置和系统
CN106713608B (zh) 应用的功能状态修改方法、装置及终端
CN103473092A (zh) 一种下载应用的处理方法、装置及终端设备
CN106303605B (zh) 一种发送通知消息的方法、装置和系统
CN103744574A (zh) 一种用于移动终端的闹钟关闭方法、装置和移动终端
CN106708501B (zh) 活动监控方法及装置
CN109669662A (zh) 一种语音输入方法、装置、存储介质及移动终端
CN105808043B (zh) 一种终端应用的设置方法和移动终端
CN107465646B (zh) 一种应用下载方法、系统及相关设备
CN105553718B (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