应用程序的管控方法、装置、设备及存储介质与流程
未命名
08-22
阅读:86
评论:0

1.本技术实施例涉及计算机技术领域,尤其涉及一种应用程序的管控方法、装置、设备及存储介质。
背景技术:
2.随着智能技术的发展,供儿童使用的电子设备的种类越加丰富,例如,儿童手表、平板电脑、学习机等电子设备均可供儿童使用。通常,电子设备安装各类应用程序以供儿童使用,但是随着应用程序类型的增多,家长对应用程序进行管控的需求不断增加。
3.管控应用程序时,电子设备在显示屏的最上层覆盖一个全屏界面,此时,儿童对应用程序的操作会被覆盖的界面拦截,即电子设备不再响应接收的操作。这样虽然能够对应用程序进行管控,但是,无法更细粒度地对应用程序进行管控。
技术实现要素:
4.本技术实施例提供了一种应用程序管控方法、装置、设备及存储介质,以实现对应用程序更细粒度地管控。
5.第一方面,在本技术的一个实施例,提供了一种应用程序的管控方法,包括:
6.运行应用程序;
7.显示所述应用程序的应用界面;
8.所述应用界面为目标界面时,锁定所述应用界面,所述目标界面通过第一管控策略确定,所述第一管控策略由关联的控制端生成;
9.所述应用界面为非目标界面且所述应用界面包含目标元素时,锁定所述目标元素,所述目标元素通过第二管控策略确定,所述第二管控策略由所述控制端生成;
10.接收控制操作;
11.所述控制操作作用于所述目标界面或所述目标元素时,拦截所述控制操作。
12.第二方面,在本技术的一个实施例,还提供了一种应用程序的管控方法,包括:
13.显示第一管控界面;
14.接收作用于所述第一管控界面的第一选择操作,所述第一选择操作用于选择界面管控或元素管控;
15.响应于所述第一选择操作,显示第二管控界面,所述第二管控界面中显示被控端安装的各应用程序;
16.接收作用于所述第二管控界面的第二选择操作;
17.通知所述被控端启动相应的应用程序,所述应用程序通过所述第二选择操作确定;
18.接收所述被控端反馈的管控信息,所述管控信息由用户对所述被控端的应用程序进行操作后生成;
19.根据所述管控信息生成管控策略,所述管控策略包括用于界面管控的第一管控策
略或用于元素管控的第二管控策略;
20.将所述管控策略发送至所述被控端,以使所述被控端执行所述管控策略。
21.第三方面,在本技术的一个实施例,还提供了一种应用程序的管控装置,包括:
22.运行模块,用于运行应用程序;
23.第一显示模块,用于显示所述应用程序的应用界面;
24.第一锁定模块,用于所述应用界面为目标界面时,锁定所述应用界面,所述目标界面通过第一管控策略确定,所述第一管控策略由关联的控制端生成;
25.第二锁定模块,用于所述应用界面为非目标界面且所述应用界面包含目标元素时,锁定所述目标元素,所述目标元素通过第二管控策略确定,所述第二管控策略由所述控制端生成;
26.第一接收模块,用于接收控制操作;
27.拦截模块,用于在所述控制操作作用于所述目标界面或所述目标元素时,拦截所述控制操作。
28.第四方面,在本技术的一个实施例,还提供了一种应用程序的管控装置,包括:
29.第二显示模块,用于显示第一管控界面;
30.第二接收模块,用于接收作用于所述第一管控界面的第一选择操作,所述第一选择操作用于选择界面管控或元素管控;
31.第三显示模块,用于响应于所述第一选择操作,显示第二管控界面,所述第二管控界面中显示被控端安装的各应用程序;
32.第四接收模块,用于接收作用于所述第二管控界面的第二选择操作;
33.通知模块,用于通知所述被控端启动相应的应用程序,所述应用程序通过所述第二选择操作确定;
34.第五接收模块,用于接收所述被控端反馈的管控信息,所述管控信息由用户对所述被控端的应用程序进行操作后生成;
35.第一生成模块,用于根据所述管控信息生成管控策略,所述管控策略包括用于界面管控的第一管控策略或用于元素管控的第二管控策略;
36.第一发送模块,用于将所述管控策略发送至所述被控端,以使所述被控端执行所述管控策略。
37.第五方面,在本技术的一个实施例,还提供了一种应用程序的管控设备,包括:
38.一个或多个处理器;
39.存储器,用于存储一个或多个程序;
40.当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的应用程序的管控方法或实现如第二方面所述的应用程序的管控方法。
41.第六方面,在本技术的一个实施例,还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面所述的应用程序的管控方法或如第二方面所述的应用程序的管控方法。
42.在本技术的一个实施例中,通过在运行应用程序时,显示应用程序的应用界面,之后,当应用界面为目标界面时,锁定该应用界面,当应用界面为非目标界面且包含目标元素
时,锁定目标元素,之后,拦截作用于目标界面或目标元素的控制操作的技术手段,实现了对应用程序中的应用界面以及应用界面中的元素进行管控,即实现了更细粒度地管控应用程序。并且,通过控制端设置应用界面的第一管控策略以及元素的第二管控策略,并下发至被控端执行,可以在儿童使用被控端时,由家长或老师对被控端进行管控。
附图说明
43.图1为本技术一个实施例提供的一种应用程序的管控方法的流程图;
44.图2为本技术一个实施例提供的一种应用界面示意图;
45.图3为本技术一个实施例提供的另一种应用界面示意图;
46.图4为本技术一个实施例提供的一种应用程序的管控方法的流程图;
47.图5为本技术一个实施例提供的又一种应用界面示意图;
48.图6为本技术一个实施例提供的一种应用程序的管控方法的流程图;
49.图7为本技术一个实施例提供的一种应用程序的管控装置的结构示意图;
50.图8为本技术一个实施例提供的一种应用程序的管控装置的结构示意图;
51.图9为本技术一个实施例提供的一种应用程序的管控设备的结构示意图。
具体实施方式
52.下面结合附图和实施例对本技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例用于解释本技术,而非对本技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本技术相关的部分而非全部结构。
53.本技术一个实施例提供了一种应用程序的管控方法,该管控方法可以由应用程序的管控设备执行,该管控设备可以通过软件和/或硬件的方式实现,该管控设备可以是两个或多个物理实体构成,也可以是一个物理实体构成。一个实施例中,管控设备是供儿童使用的电子设备,例如,管控设备可以是供儿童使用的笔记本电脑、手机、平板电脑、交互智能平板、电话手表、学习机等电子设备。
54.示例性的,管控设备安装有至少一类操作系统,其中,操作系统包括但不限定于ios系统、android系统、linux系统及windows系统等。在一实施例中,以管控设备安装android系统为例进行描述。android系统下,管控设备可以安装应用程序(application,app),该应用程序可以是操作系统自带的应用程序,还可以第三方开发的应用程序,管控设备也可为应用程序本身。管控设备还配置至少一块显示屏,显示屏可以具有触控功能也可以不具有触控功能,当显示屏具有触控功能时,其可以是电容屏、电磁屏和/或红外屏等。一个实施例中,以显示屏具有触控功能为例,此时,用户通过触控显示屏的方式对管控设备进行控制。可理解,用户还可以通过鼠标、键盘等外置设备对管控设备进行控制。管控设备还配置通信模块,通过通信模块可以与其他的设备进行数据通信,通信模块采用的通信机制可以根据实际情况设置,例如,通信模块作为物联网(internet of things,iot)通道进行数据通信。
55.一个实施例中,由家长或老师对管控设备中的应用程序进行管控。此时,家长或老师使用的电子设备可以作为控制端,应用程序的管控设备可以作为被控端。家长或老师使用的电子设备可以是手机、笔记本电脑、平板电脑、交互智能平板等。一个实施例中,控制端
中运行与被控端适配的应用程序或微信小程序等,以在控制端的应用程序或微信小程序中对被控端进行管控,此时,适配的应用程序或微信小程序也可认为是控制端。适配过程当前不作限定,例如,控制端和被控端输入同一账号时,确定适配成功,再如,控制端和被控端连接同一局域网时,确定适配成功。适配成功后,被控端和控制端可进行数据通信。
56.应用程序的管控设备作为被控端,执行应用程序的管控方法时,其流程如图1所示。图1为本技术一个实施例提供的一种应用程序的管控方法的流程图。参考图1,该管控方法包括:
57.步骤110、运行应用程序。
58.应用程序安装在被控端中。当前,运行的应用程序为前台运行的应用程序。其中,前台运行可理解为:运行时,在显示屏中显示应用程序的界面,用户通过界面掌握应用程序的运行过程并对应用程序进行相应的控制。一个实施例中,运行的应用程序由被控端的用户(如儿童)启动。
59.可选的,被控端中可以被管控的每个应用程序均有相应的应用状态,应用状态用于在启动应用程序时标明是否禁用应用程序。应用状态包括禁用状态和非禁用状态,禁用状态下,放弃启动应用程序,非禁用状态下,正常启动应用程序。一个实施例中,应用状态由管控策略决定。其中,管控策略是在控制端生成且对被控端进行管控的策略。示例性的,管控策略包含三类内容,一类用于应用管控,即用于禁用或取消禁用应用程序;一类用于界面管控,即用于禁用或取消禁用应用程序中的应用界面;一类用于元素管控,即用于禁用或取消禁用应用界面中的元素。为了便于区分,将用于应用管控的管控策略记为第三管控策略。第三管控策略中记载进行管控的应用程序以及应用程序的管控信息,其中,管控信息包括:应用状态,可选包括:管控时间等。管控时间用于限定对应状态的设置时间。可选的,由控制端的用户(如家长或老师)在控制端中设置第三管控策略并发送至被控端。可选的,当控制端的用户在控制端中选择应用管控后,控制端显示被控端安装的应用程序,由用户选择管控的应用程序并设置管控信息,设置完成后,控制端生成第三管控策略并下发至被控端。被控端根据第三管控策略对相应的应用程序进行设置。之后,被控端启动应用程序前,需要先查询应用程序的应用状态,再确定是否启动应用程序,一个实施例中,步骤110之前,还包括:接收应用程序的启动指令;响应于启动指令,获取应用程序的应用状态;应用状态为非禁用状态时,启动应用程序,应用状态通过第三管控策略确定,第三管控策略由控制端下发。
60.示例性的,启动指令是指启动应用程序的指令,启动指令由被控端的用户(如儿童)发出。例如,被控端检测到应用程序的图标接收到设定操作(如单击操作)时,确定接收到启动指令。之后,读取该应用程序的应用状态,若应用状态为非禁用状态,则确定当前未禁用应用程序,此时,启动该应用程序,并在前台运行该应用程序。
61.一个实施例中,管控方法还包括:应用状态为禁用状态时,弹出第一管控提示并放弃启动应用程序。示例性的,读取应用程序的应用状态后,若应用状态为禁用状态,则确定当前禁用应用程序,此时,放弃启动该应用程序。可选的,为了使被控端的用户(如儿童)明确应用程序被禁用,在放弃启动应用程序时,在显示屏中弹出一提示,当前,将弹出的提示记为第一管控提示,第一管控提示用于向被控端的用户提示禁用应用程序,第一管控提示的内容可以根据实际情况设置。可选的,第一管控提示中还设置有表示“确定”的虚拟按键,
接收到作用于该控件的设定操作(如点击操作)后,确定用户明确了第一管控提示的提示内容,因此,取消显示第一管控提示。或者是,设定第一管控提示的时长阈值,弹出第一管控提示后,对第一管控提示的显示时长进行记录,当显示时长达到时长阈值时,取消显示第一管控提示。
62.可理解,当前运行的应用程序为非禁用状态的应用程序。运行应用程序后,执行步骤120。
63.步骤120、显示应用程序的应用界面。
64.应用界面也可理解为软件界面,其是面向操作者(即用户)而专门设计的用于操作使用及反馈信息的界面。即用户在应用界面中对应用程序进行控制,应用程序响应控制时,通过应用界面呈现控制过程以及控制结果。示例性的,应用界面由元素组成,元素可理解为:可满足交互需求的软件或系统界面所包含的满足用户交互要求的一系列元素。开发应用程序时,开发人员设置元素在应用界面的位置、尺寸、样式和/或运行逻辑等数据,之后,通过绘制应用界面中的各元素实现显示应用界面,即应用界面是由多个元素组成的界面。
65.应用程序包含一个或多个应用界面。可选的,应用程序包含多个应用界面时,被控端显示应用界面外,还显示触发应用界面切换的虚拟按键,各虚拟按键可以集成在按键栏(也可以理解为菜单栏)中。举例而言,应用程序的按键栏内有两个虚拟按键,分别对应“聊天”及“通讯录”,当用户选择“聊天”虚拟按键时,显示用于聊天的应用界面,当用户选择“通讯录”虚拟按键时,显示通讯录的应用界面。此时,按键栏和应用界面属于独立的两部分,界面管控只针对应用界面,不针对按键栏。可理解,实际应用中,按键栏也可以作为应用界面的一部分。还可选的,应用程序包含多个应用界面时,用户通过左右或上下滑动的方式切换应用界面。
66.示例性的,当前显示的应用界面为应用程序的一个应用界面,具体的界面内容不作限定。
67.示例性的,被控端中可以被管控的每个应用界面均有相应的界面状态,界面状态用于在显示应用界面时标明是否禁用。界面状态包括禁用状态和非禁用状态,禁用状态下,显示应用界面后,用户无法对应用界面进行操作,非禁用状态下,显示应用界面后,用户正常对应用界面进行操作。一个实施例中,将禁用状态下的应用界面记为目标界面。一个实施例中,将用于界面管控的管控策略记为第一管控策略。第一管控策略中记载进行管控的应用界面以及该应用界面的管控信息,其中,管控信息包括:界面状态,可选包括:管控时间等。可选的,由控制端的用户(如家长或老师)在控制端中设置第一管控策略并发送至被控端。当控制端的用户在控制端中选择界面管控后,控制端显示被控端安装的应用程序,由用户选择管控的应用程序,之后,控制端通知被控端启动该应用程序,被控端启动应用程序并进入界面管控设置的模式,该模式下,用户在被控端中选择管控的应用界面并设置管控信息,设置完成后,被控端将用户设置的相关内容反馈给控制端,以使控制端生成第一管控策略并发送至被控端。可选的,设置过程也可在控制端实现,例如,被控端启动应用程序后,依次将应用程序的应用界面发送至控制端,由用户在控制端中选择管控的应用界面并设置管控信息。被控端根据第一管控策略,对相应的应用界面进行设置。
68.示例性的,显示应用界面时,可以先判断应用界面的界面状态是否为禁用状态,若为禁用状态,则确定应用界面为目标界面,并执行步骤130。若为非禁用状态,则确定应用界
面为非目标界面,并判断在非目标界面中,是否包含目标元素。
69.示例性的,被控端中可以被管控的每个元素均有相应的元素状态,元素状态用于在显示应用界面时标明对应的元素是否禁用。元素状态包括禁用状态和非禁用状态,禁用状态下,显示应用界面后,用户无法对元素进行操作,非禁用状态下,显示应用界面后,用户正常对元素进行操作。一个实施例中,将禁用状态下的元素记为目标元素。一个实施例中,将用于元素管控的管控策略记为第二管控策略。第二管控策略中记载进行管控的元素以及该元素的管控信息,其中,管控信息包括:元素状态,可选包括:管控时间等。可选的,由控制端的用户(如家长或老师)在控制端中设置第二管控策略并发送至被控端。当控制端的用户在控制端中选择元素管控后,控制端显示被控端安装的应用程序,由用户选择管控的应用程序,之后,控制端通知被控端启动该应用程序,被控端启动应用程序并进入元素管控设置的模式,该模式下,用户在被控端中选择应用界面及该应用界面中进行管控的元素并设置管控信息,设置完成后,被控端将用户设置的相关内容反馈给控制端,以使控制端生成第二管控策略并发送至被控端。可选的,设置过程也可在控制端实现,例如,被控端启动应用程序后,依次将应用程序的应用界面发送至控制端,由用户在控制端中选择应用界面及该应用界面中进行管控的元素并设置管控信息。被控端根据第二管控策略,对相应的元素进行设置。
70.示例性的,确定应用界面为非目标界面后,读取该应用界面中各元素的元素状态,并判断元素状态是否为禁用状态,若为禁用状态,则确定对应的元素为目标元素,即确定应用界面中包含目标元素,此时,执行步骤140。若各元素的元素状态均为非禁用状态,则确定应用界面被正常使用。
71.基于前述内容可知,显示应用界面时,需要进行目标界面和目标元素的判断,据此,一个实施例中,步骤120具体包括:
72.步骤121、获取应用界面的界面状态,界面状态通过第一管控策略确定。界面状态为禁用状态时,执行步骤122,界面状态为非禁用状态时,执行步骤125。
73.示例性的,对于被控端安装的应用程序而言,每个应用界面均设置相应的界面名(也可理解为界面标识),对于android系统而言,activity类是android系统中应用程序的重要组成部分,其可以提供应用程序绘制其ui的窗口(即应用界面),此时,各应用界面可以通过activity(即活动名)区别,本实施例提及的活动名也可以理解为界面名。显示应用界面时,在程序包中通过activity(即活动名)可查找用于描述应用界面的程序代码,之后,根据程序代码可以显示应用界面。一个实施例中,将应用程序的界面名与界面状态相关联,以在显示应用界面时,通过界面名获取对应的界面状态。获取界面状态后,若界面状态为禁用状态,则执行步骤122,若界面状态为非禁用状态,则执行步骤124。
74.步骤122、界面状态为禁用状态时,确定应用界面为目标界面。
75.步骤123、通过draw函数加载应用界面中的各元素。
76.示例性的,draw函数为view的函数。android系统中view是所有控件的基类,显示应用界面时,应用界面中各种交互式ui组件(如按键、文本)等都是view的子类,当前,实施例中提及的元素便可以认为是交互式ui组件,即应用界面的各元素可以认为是继承view的控件。此时,一个元素可以认为是一个view元素。draw函数用于实现绘制,当前加载view的draw函数可以实现加载应用界面中的各元素,以便于后续绘制各元素。
77.步骤124、显示各元素,以实现显示应用界面。执行步骤130。
78.可理解,利用draw函数加载各元素后,便可以绘制各元素,即在被控端的显示屏中显示各元素,进而实现显示对应的应用界面。一个实施例中,通过canvas类绘制各元素。其中,canvas类是用来在显示屏上绘画的类。
79.步骤125、界面状态为非禁用状态时,确定应用界面为非目标界面。
80.步骤126、通过draw函数加载应用界面中的各元素,并在加载过程中,获取各元素的元素状态,元素状态通过第二管控策略确定。
81.示例性的,加载应用界面中出现的各元素,该过程与步骤123中描述元素的加载过程相同,当前不做赘述。一个实施例中,界面状态为非禁用状态时,加载各元素的过程中,读取各元素的元素状态。
82.示例性的,对于应用界面而言,其中的每个元素均有相应的元素名(也可理解为元素标识或元素id),该元素名也可以认为是应用程序的软件包中用于描述该元素的名。显示应用界面时,在程序包中通过界面名(即activity)可查找到用于描述应用界面的程序代码,该程序代码可以理解为树形的结构,应用界面中出现的各view元素可以添加在树形结构的根节点下面。此时,通过activity关联对应的viewroot(根节点)可查找由view元素组成的树形结构的viewtree,其中,viewroot是viewtree的头部节点,其有一个mview成员变量,指向的是它所管理的viewtree的根。通过遍历viewroot内容,可以获取到view元素的元素名,进而基于元素名确定描述元素的相关程序代码。之后,基于元素的程序代码实现元素的加载,各元素加载后,便可以实现应用界面的加载。一个实施例中,将元素的元素名与元素状态相关联,以在加载元素时,通元素名获取对应的元素状态。若元素状态为禁用状态,则确定相应的元素为目标元素,即执行步骤127,否则,确定相应的元素为正常的元素。
83.步骤127、所述元素状态为禁用状态时,确定相应的元素为目标元素。
84.步骤128、显示各元素,以实现显示应用界面。执行步骤140。
85.需要说明的是,当前显示的元素为应用界面中的全部元素,其可以包括目标元素和非目标元素。可理解,当前显示元素的实现过程与步骤124的实现过程相同,当前不作限定。
86.由步骤121-步骤128可知,禁用状态下显示应用界面与非禁用状态下显示应用界面的区别在于,非禁用状态下,加载应用界面的各元素时,需要读取各元素的元素状态,以找到应用界面中的目标元素。需说明,应用界面可以不存在目标元素,即应用界面中的各元素均为非禁用状态,此时,各元素均可被用户控制。
87.步骤130、应用界面为目标界面时,锁定应用界面,目标界面通过第一管控策略确定,第一管控策略由关联的控制端生成。
88.一个实施例中,应用界面为目标界面时,对应用界面进行锁定,以保证用户无法对应用界面进行操作,实现界面管控。
89.锁定应用界面的实现方式当前不作限定,只需实现用户对应用界面的操作不会被应用程序响应即可。一个实施例中,通过在应用界面上覆盖遮挡层的方式实现锁定应用界面。锁定后,用户对应用界面的操作被操作系统拦截,应用程序不会接收到用户的操作。此时,锁定应用界面包括步骤131-步骤132:
90.步骤131、通过viewrootimpl类获取应用界面的第一位置数据。
91.示例性的,viewroot中有变量mwinframe,mwinframe在程序代码中的类名为rect,可记录当前窗口(实施例中为应用界面)的位置。android系统中,通过windowmangerservice可以设置activity对应的位置(相当于设置应用界面的位置),以及接收相关位置改变的信息,并存储在mwinframe中。viewrootimpl类是view的最高层级,属于view的根,可以负责管理view元素的测量、布局、绘制等。通过viewrootimpl类可以获取mwinframe中存储的应用界面的位置数据。当前,将应用界面的位置数据记为第一位置数据。
92.步骤132、根据第一位置数据显示第一遮挡层,第一遮挡层覆盖在应用界面上。
93.示例性的,根据第一位置数据绘制一个遮挡层,并将当前绘制的遮挡层记为第一遮挡层。一个实施例中,根据第一位置数据中尺寸数据绘制与应用界面大小一致的第一遮挡层,之后,根据第一位置数据中位置数据在显示屏中显示第一遮挡层,以使第一遮挡层覆盖在应用界面上。可选的,第一遮挡层的显示样式可以根据实际情况设置,例如,第一遮挡层为一个透明的蒙层,显示第一遮挡层后,用户无法在显示屏中观看到第一遮挡层。再如,第一遮挡层为一个带有特定图案的蒙层,其中,特定图案的形状及颜色当前不作限定。显示第一遮挡层后,用户可以在显示屏中观看到特定图案。举例而言,图2为本技术一个实施例提供的一种应用界面示意图,参考图2,其为音乐播放应用程序的应用界面,该应用界面上覆盖有第一遮挡层(图2中第一遮挡层显示有斜线)。
94.可理解,由于第一遮挡层覆盖在应用界面上,因此,用户对应用界面的操作,会被第一遮挡层遮挡,以此实现锁定应用界面。
95.步骤140、应用界面为非目标界面且应用界面包含目标元素时,锁定目标元素,目标元素通过第二管控策略确定,第二管控策略由控制端生成。
96.一个实施例中,应用界面为非目标界面且应用界面包含目标元素时,对目标元素进行锁定,以保证用户无法对目标元素进行操作,实现界面管控。
97.锁定后,用户在目标元素的位置处发出的操作均不会被反馈至应用程序中,即应用程序不会响应用户的操作。
98.锁定目标元素的实现方式当前不作限定,只需实现用户对目标元素的操作不会被应用程序响应即可。一个实施例中,通过该目标元素上覆盖遮挡层的方式实现锁定目标元素。锁定后,用户对目标元素的操作被操作系统拦截,应用程序不会接收到用户的操作。此时,锁定目标元素包括步骤141-步骤142:
99.步骤141、通过viewrootimpl类获取目标元素的第二位置数据。
100.示例性的,通过viewrootimpl类获取到各view元素在显示屏中的位置数据和尺寸数据,进而找到目标元素的位置数据和尺寸数据。当前,将目标元素的位置数据和尺寸数据记为第二位置数据。
101.步骤142、根据第二位置信息显示第二遮挡层,第二遮挡层覆盖在目标元素上。
102.示例性的,根据第二位置数据绘制一个遮挡层,并将当前绘制的遮挡层记为第二遮挡层。一个实施例中,根据第二位置数据中尺寸数据绘制与目标元素大小一致的第二遮挡层,之后,根据第二位置数据中位置数据在显示屏中显示第二遮挡层,以使第二遮挡层覆盖在目标元素上。可理解,目标元素为多个时,每个目标元素对应一个第二遮挡层。可选的,第二遮挡层的显示样式与第一遮挡层的显示样式相同或不同,当前不作限定。举例而言,图
3为本技术一个实施例提供的另一种应用界面示意图,参考图3,应用界面显示元素11至元素13,其中,元素12为目标元素,其上覆盖有第二遮挡层(图3中第二遮挡层显示有斜线)。
103.可理解,由于第二遮挡层覆盖在应用界面的目标元素上,因此,用户对目标元素的操作,会被第二遮挡层遮挡,以此实现锁定目标元素。
104.步骤150、接收控制操作。
105.示例性的,控制操作为被控端的用户(如儿童)对应用程序进行控制的操作。一个实施例中,检测到显示应用界面的区域接收到相应操作时,确定接收到控制操作。
106.步骤160、控制操作作用于目标界面或目标元素时,拦截控制操作。
107.接收控制操作后,根据控制操作在显示屏中的操作位置,可以确定控制操作作用的对象。一个实施例中,当应用界面为目标界面时,若控制操作的操作位置位于目标界面的区域,则确定控制操作作用在目标界面上。可理解,第一遮挡层覆盖在目标界面上,因此,控制操作虽然位于目标界面的区域,但是,其直接作用在第一遮挡层上。当应用界面为非目标界面且包含目标元素时,若控制操作的操作位置位于目标元素的区域,则确定控制操作作用在目标元素上。可理解,第二遮挡层覆盖在目标元素上,因此,控制操作虽然位于目标元素的区域,但是,其直接作用在第二遮挡层上。
108.示例性的,被控端检测到遮挡层(这里为第一遮挡层或第二遮挡测)接收到控制操作时,不将该控制操作反馈至应用程序,而是直接放弃对该控制操作的响应,以实现拦截控制操作。
109.可理解,当控制操作是对应用界面(非目标界面)中正常的元素(非目标元素)进行控制时,即被控检测到非遮挡层的位置接收到控制操作时,将控制操作反馈至应用程序,之后,由应用程序对该控制操作进行响应。
110.本技术一个实施例中,拦截控制操作时,还包括:弹出第二管控提示。示例性的,拦截控制操作时,在显示屏中弹出一提示,当前,将弹出的提示记为第二管控提示,第二管控提示用于向被控端的用户(如儿童)提示应用界面或元素,第二管控提示的内容可以根据实际情况设置。可选的,目标界面对应的第二管控提示和目标元素对应的第二管控提示的内容不同,如目标界面对应的第二管控提示的内容为“应用界面被禁用”,元素对应的第二管控提示的内容为“元素被禁用”。可选的,第二管控提示与第一管控提示的显示规则相似,当前不作赘述。
111.上述,通过在运行应用程序时,显示应用程序的应用界面,之后,当应用界面为目标界面时,锁定该应用界面,当应用界面为非目标界面且包含目标元素时,锁定目标元素,之后,拦截作用于目标界面或目标元素的控制操作的技术手段,实现了对应用程序中的应用界面以及应用界面中的元素进行管控,即实现了更细粒度地管控应用程序。并且,通过控制端设置应用界面的第一管控策略以及元素的第二管控策略,并下发至被控端执行,可以在儿童使用被控端时,由家长或老师对被控端进行管控。并且,通过第三管控策略,还可以实现对应用程序的管控,丰富了管控的细粒度,使得家长或老师结合实际情况合理的制定管控策略。通过弹出管控提示的方式,提示被控端的儿童无法使用应用程序、应用界面或元素,可以使得儿童明确无法使用的原因,并当存在使用需求时,通知家长或老师解除对应的管控。并且,通过设置应用状态、界面状态以及元素状态,确定是否禁用应用程序、应用界面以及元素,无需改变应用程序自身的函数逻辑,适用于对第三方开发的应用程序进行管控,
扩大了应用场景。并且,通过遮挡层遮盖目标界面或目标元素的方式锁定目标界面或目标元素,使得锁定手段简单,易于实现,减小被控端的数据处理复杂度。
112.本技术一个实施例中,对于作为被控端的管控设备而言,还需要根据控制端下发的管控策略进行设置。据此,图4为本技术一个实施例提供的一种应用程序的管控方法的流程图。该管控方法用于描述被控端如何根据管控策略进行设置。参考图4,该管控方法包括:
113.步骤210、接收控制端发送的管控策略。
114.一个实施例中,控制端生成管控策略后,通过iot通道将管控策略下发至被控端。其中,iot通道是指基于iot技术建立的数据通信通道,控制端和被控端建立iot通道后,通过iot通道进行数据的传输,当前,通过iot通道传输管控策略。示例性的,控制端生成的管控策略可以包括第一管控策略、第二管控策略和第三管控策略中的一种或多种,即控制端的用户(如家长或老师)在一次设置过程中,可以分别进行应用管控、元素管控和界面管控,之后,控制端生成一个管控策略并下发至被控端。
115.步骤220、保存管控策略。
116.被控端接收管控策略后,先将管控策略保存在操作系统中。可选的,管控策略以列表的方式保存在操作系统中,此时,管控策略中每个对象(应用程序、应用界面和元素)对应的管控信息均可以作为列表中的一条内容。
117.步骤230、通过getinstalledpackages接口调用管控策略。
118.保存管控策略后,被控端的系统层可以获取管控策略。一个实施例中,系统层通过android packagemanager中的getinstalledpackages接口调用操作系统中保存的管控策略。android packagemanager是android系统提供的管理应用程序信息的管理类。android系统中已安装的应用列表可通过getinstalledpackages接口调用。管控策略以列表的方式存储后,系统层通过getinstalledpackages接口可调用管控策略。
119.之后,系统层分析调用的管控策略,当管控策略包括界面管控的有关内容时,将界面管控的有关内容作为第一管控策略,并执行步骤240。当管控策略包括元素管控的有关内容时,将元素管控的有关内容作为第二管控策略,并执行步骤260。
120.步骤240、管控策略包括第一管控策略时,确定第一管控策略所管控的应用界面。
121.示例性的,第一管控策略中记录被管控的应用界面时,具体是记录应用界面的界面名。管控策略包括第一管控策略时,被控端的系统层读取第一管控策略记录的界面名,以确定进行管控的应用界面。
122.步骤250、根据第一管控策略设置应用界面的界面状态,界面状态包括禁用状态和非禁用状态。
123.示例性的,被控端的系统层读取第一管控策略中的管控信息,进而获取管控信息中的界面状态,之后,根据界面状态对相应的应用界面进行设置。一个实施例中,通过修改界面名的方式设置界面状态,即在界面名中添加用于表示禁用状态的标志或者添加用于表示非禁用状态的标志。当前,以设置界面状态为禁用状态为例,描述如何修改界面名。此时,根据第一管控策略设置应用界面的界面状态包括:根据第一管控策略在应用界面的界面名中添加第一锁标志。
124.示例性的,被控端的系统层读取第一管控策略记录的界面名,之后,根据界面名在应用程序对应的程序代码中找到应用界面有关的程序代码,并在程序代码中的界面名中添
加用于表示禁用状态的锁标志。可选的,为了便于被控端在应用程序对应的程序代码中快速找到界面名,在第一管控策略中除了记录界面名,还可以记录app包名(即应用程序的应用程序包名),之后,被控端基于app包名查找应用程序对应的程序代码,之后,在程序代码中快速找到界面名。
125.当前,将适用于应用界面的锁标志记为第一锁标志,第一锁标志可以通过数字、字母和/或符号组成。一个实施例中,第一锁标志表示为“disable”。举例而言,某个应用界面的界面名为“pm1”,加入第一锁标志后,界面名为“pm1 disable”。之后,应用程序运行过程中,显示应用界面时,由系统层读取界面名“pm1 disable”,之后,系统层确定界面名包含第一锁标志“disable”时,确定应用界面为目标界面,并禁用目标界面。
126.可理解,设置界面状态为非禁用状态的实现过程与设置界面状态为禁用状态的实现过程相似,区别在于,设置界面状态为非禁用状态时,界面名中添加第一可行标志,第一可行标志用于指示应用界面为非禁用状态。第一可行标志可以通过数字、字母和/或符号组成。一个实施例中,第一可行标志表示为“enable”。以此实现禁用或非禁用应用界面。
127.一个实施例中,第一管控策略中还可记录应用界面的管控时间,并根据管控时间设置界面状态。此时,根据第一管控策略设置应用界面的界面状态包括:根据第一管控策略确定应用界面的第一管控时间,并根据第一管控时间设置应用界面的界面状态。
128.示例性的,将第一管控策略中记录的管控时间记为第一管控时间,之后,系统层在第一管控时间达到时,将应用界面的界面状态设置为第一管控时间对应的界面状态。举例而言,第一管控策略记录:界面状态为禁用状态,对应的管控时间为:8:00am-12:00am,此时,被控端根据第一管控策略,确定被控端记录的系统时间到达8:00am时,将对应的界面状态设置为禁用状态,当被控端记录的系统时间到达12:01am时,取消禁用状态,即将界面状态设置为非禁用状态。
129.步骤260、管控策略包括第二管控策略时,确定第二管控策略所管控的元素。
130.示例性的,第二管控策略中记录被管控的元素时,具体是记录元素的元素名。管控策略包括第二管控策略时,被控端的系统层读取第二管控策略记录的元素名,以确定进行管控的元素。
131.步骤270、根据第二管控策略设置元素的元素状态,元素状态包括禁用状态和非禁用状态。
132.示例性的,被控端的系统层读取第二管控策略中的管控信息,进而获取管控信息中的元素状态,之后,根据元素状态对相应的元素界面进行设置。一个实施例中,通过修改元素名的方式设置元素状态,即在元素名中添加用于表示禁用状态的标志或者添加用于表示非禁用状态的标志。当前,以设置元素状态为禁用状态为例,描述如何修改元素名。此时,根据第二管控策略设置元素的元素状态包括:根据第二管控策略在元素的元素名中添加第二锁标志。
133.示例性的,被控端的系统层读取第二管控策略记录的元素名,之后,根据元素名在应用程序对应的程序代码中找到元素有关的程序代码,并程序代码中的元素中添加用于表示禁用状态的锁标志。可选的,为了便于被控端在应用程序对应的程序代码中快速找到元素名,在第一管控策略中除了记录元素名,还可以记录app包名和界面名,之后,被控端基于app包名查找应用程序对应的程序代码,之后,根据界面名在程序代码中找到描述应用界面
的程序代码,之后,在程序代码中找到元素名。
134.当前,将适用于元素的锁标志记为第二锁标志,第二锁标志可以通过数字、字母和/或符号组成,第二锁标志和第一锁标志可以相同或不同,在元素名中添加第二锁标志的方式与在界面名中添加第一锁标志的方式相同,当前不作赘述。
135.可理解,设置元素状态为非禁用状态的实现过程与设置元素状态为禁用状态的实现过程相似,区别在于,设置元素状态为非禁用状态时,元素名中添加第二可行标志,第二可行标志用于指示元素为非禁用状态。第二可行标志可以通过数字、字母和/或符号组成,第二可行标志与第一可行标志可以相同或不同。
136.一个实施例中,第二管控策略中还可记录元素的管控时间,并管控时间设置元素状态。此时,根据第二管控策略设置元素的元素状态包括:根据第二管控策略确定元素的第二管控时间,并根据第二管控时间设置元素的元素状态。
137.一个实施例中,将第二管控策略中记录的管控时间记为第二管控时间,之后,系统层在到达第二管控时间时,将元素的元素状态设置为第二管控时间对应的元素状态。该实现过程与根据第一管控策略确定应用界面的第一管控时间,并根据第一管控时间设置应用界面的界面状态的实现过程相同,当前不作赘述。
138.本技术一个实施例中,管控策略还可包括第三管控策略,即管控策略可进行应用管控。此时,步骤230时,系统层分析调用的管控策略时,若管控策略包括应用管控的有关内容,将应用管控的有关内容作为第三管控策略,并执行步骤280:
139.步骤280、管控策略包括第三管控策略时,确定第三管控策略所管控的应用程序。执行步骤290。
140.示例性的,第三管控策略中记录被管控的应用程序时,具体是记录应用程序的app包名。管控策略包括第三管控策略时,被控端的系统层读取第三管控策略记录的app包名,以确定进行管控的应用程序。
141.步骤290、根据第三管控策略设置应用程序的应用状态,应用状态包括禁用状态和非禁用状态。执行步骤2100。
142.示例性的,被控端的系统层读取第三管控策略中的管控信息,进而获取管控信息中的应用状态,之后,根据应用状态对相应的应用程序进行设置。一个实施例中,通过修改应用程序的launcher图标的方式设置应用状态,即在launcher图标中添加用于表示禁用状态的标志或者添加用于表示非禁用状态的标志。当前,以设置界面状态为禁用状态为例,此时,设置应用状态为禁用状态的过程是:根据第三管控策略在应用程序的launcher图标中添加第三锁标志。示例性的,被控端的launcher在系统中找到应用程序app包名。其中,launcher为android系统桌面启动器。之后,根据app包名找到应用程序的launcher图标,launcher图标可认为是桌面中的图标。之后,在launcher图标中添加第三锁标志。当前,将适用于应用程序的锁标志记为第三锁标志,第三锁标志可以通过数字、字母和/或符号组成,第三锁标志与第二锁标志和第一锁标志可以相同或不同。在launcher图标中添加第三锁标志可以是在图标名中添加第三锁标志,其中,添加第三锁标志的方式与添加第一锁标志的方式相同,当前不作赘述。
143.设置应用状态为非禁用状态的实现过程与设置应用状态为禁用状态的实现过程相似,区别在于,设置应用状态为非禁用状态时,launcher图标中添加第三可行标志,第三
可行标志用于指示应用程序为非禁用状态。第三可行标志可以通过数字、字母和/或符号组成,第三可行标志与第二可行标志和第一可行标志可以相同或不同。
144.一个实施例中,第三管控策略中还可记录有应用程序的管控时间,并根据管控时间设置应用状态。当前,根据第三管控时间设置应用程序的应用状态的过程与根据第二管控时间设置元素状态的过程相同,当前不作赘述。
145.一个实施例中,设置完成后,若设置的应用状态包括禁用状态,则还需要删除运行任务列表中的应用程序,以避免通过运行任务列表启动应用程序。即设置应用状态为禁用状态后,还需执行步骤2100和步骤2110。
146.步骤2100、应用状态为禁用状态时,读取运行任务列表。
147.android系统中,运行任务列表中记录由前台运行切换至后台运行的应用程序。后台运行可理解为应用程序运行时,在屏幕中未显示该应用程序的界面,用户无法直观掌握应用程序的运行过程。运行任务列表采用栈的方式,最新运行的应用程序位于运行任务列表的最前端。用户调出运行任务列表后,可以选择其中记录的应用程序,以切换至前台运行该应用程序。可选的,运行任务列表中还可以记录最近关闭的应用程序,如最近设定时长内关闭的应用程序,或者最近关闭的设定数量的应用程序。
148.一个实施例中,设置应用状态为禁用状态后,读取运行任务列表,即确认运行任务列表中记录的各应用程序。
149.步骤2110、运行任务列表中记录该应用程序时,在运行任务列表中清除该应用程序。
150.示例性的,判断运行任务列表中是否记录有当前设置为禁用状态的应用程序,若有,则在运行任务列表中清除该应用程序,使得运行任务列表中不再记录该应用程序,避免通过运行任务列表实现前台运行应用程序。若没有,则无需对运行任务列表进行处理。
151.可理解,管控策略设置完成后,当被控端的用户(如儿童)启动应用程序,便可以根据管控策略实现应用管控、界面管控以及元素管控。上述,被控端接收管控策略后,保存管控策略,之后,通过getinstalledpackages接口调用管控策略,当管控策略包括第一管控策略时,根据第一管控策略明确需要管控的应用界面并设置对应界面状态,当管控策略包括第二管控策略时,根据第二管控策略明确需要管控的元素并设置对应元素状态的技术方案,可以实现对应用界面和元素的管控,即实现更细粒度的管控应用程序。并且,通过在界面名、元素名和launcher图标中添加锁标志或可行标志的方式设置界面状态、元素状态和应用状态,无需修改应用程序的函数逻辑,可以实现对第三方开发的应用程序、应用界面和元素的管控,且设置方式简单,易于实现。并且,管控策略中还可包含管控时间,此时,只需要设置禁用状态或非禁用状态的执行时间,便可以实现禁用状态和非禁用状态的切换,无需控制端的用户频繁生成管控策略。
152.一个实施例中,用户(如家长或老师)在控制端设置第一管控策略时,需要控制端和被控端协同操作,此时,管控方法还包括步骤310-步骤360:
153.步骤310、接收控制端发送的第一管控设置指令,第一管控设置指令用于应用程序的界面管控。
154.示例性的,控制端的用户(如家长或老师)在控制端中选择界面管控的应用程序时,控制端生成第一管控设置指令并发送给被控端。第一管控设置指令用于通知被控端当
前进行界面管控以及进行界面管控的应用程序。举例而言,控制端的用户选择界面管控后,控制端显示被控端中安装的应用程序。可选的,应用程序通过应用图标的方式呈现在控制端。控制端检测到用户选择了应用图标后,生成第一管控设置指令并发送给被控端。可选的,第一管控设置指令至少包括:表示界面管控的相关字符及应用程序的应用图标名或应用程序的app包名。其中,应用程序的app包名在android系统中是判断应用程序的唯一标识。被控端接收第一管控设置指令后,执行步骤320。
155.步骤320、根据第一管控设置指令,启动相应的应用程序。
156.示例性的,被控端解析第一管控设置指令后,确定进行界面管控及需管控的应用程序,之后,启动该应用程序。
157.步骤330、显示应用程序的应用界面,应用界面处于第一编辑模式。
158.应用程序启动后,显示对应的应用界面,以供控制端的用户(如家长或老师)进行操作。可理解,应用程序包含多个应用界面时,由用户在被控端中切换当前显示的应用界面。
159.可选的,应用界面处于第一编辑模式。第一编辑模式为进行界面管控的模式,第一编辑模式下,用户(如家长或老师)在被控端中选择管控的应用界面并设置对应的管控信息。
160.步骤340、接收针对于应用界面的第一编辑操作。
161.示例性的,第一编辑操作为用户(如家长或老师)在被控端中设置第一管控策略时执行的操作。
162.一个实施例中,第一编辑模式下,被控端在应用界面中添加一虚拟按键,该虚拟按键可选为悬浮按键,该虚拟按键的位置可以根据实际需求设置,例如,图5为本技术一个实施例提供的又一种应用界面示意图,参考图5,虚拟按键14在应用界面的左下角(以用户视角)。可选的,用户可通过拖拽的方式移动该虚拟按键。若被控端检测到该虚拟按键接收到设定操作(如点击操作),则确定当前显示的应用界面为需要管控的应用界面。之后,被控端通过查找focus activity获取应用界面的界面名,并且显示设置管控信息的界面,该界面可部分或全部遮盖在应用界面之上,该界面的内容可以根据实际情况设置。例如,界面中显示有“禁用or非禁用”、“禁用时间or非禁用时间”等内容,之后,用户在该界面中选择应用界面的界面状态,还可以选择界面状态对应的执行时间(即管控时间)。可理解,设置管控信息前,若界面状态为非禁用状态,则用户可在该界面中选择禁用状态对应的选项,还可以选择禁用状态的管控时间。设置管控信息前,若界面状态为禁用状态,则用户可在该界面中选择非禁用状态对应的选项或者是取消当前的禁用状态。可选的,该界面还显示表示“设置完成”的虚拟按键,检测到该虚拟按键接收到设定操作(如点击操作),确定用户设置完成,获取用户设置的管控信息。之后,被控端恢复显示当前被管控的应用界面。之后,用户可以根据实际需求,切换并选择新的应用界面进行界面管控。
163.可理解,用户选择应用界面、设置界面状态、设置管控时间等操作均可以认为是第一编辑操作。
164.步骤350、根据第一编辑操作确定管控信息。
165.示例性的,用户每设置完一个应用界面的管控信息后,被控端获取管控信息,管控信息通过第一编辑操作确定。其中,管控信息包括界面名、界面状态,还包括管控时间等内
容。
166.步骤360、将管控信息反馈至控制端,以使控制端生成用于管控应用界面的第一管控策略。
167.示例性的,被控端将管控信息反馈至控制端,之后,控制端根据管控信息生成第一管控策略。可选的,控制端接收管控信息后,先显示管控信息,以供用户在控制端进行确认,当用户确认无误后,控制端生成第一管控策略。可选的,当用户在被控端中对多个应用界面进行管控时,控制端生成的第一管控策略包含多个应用界面的界面名以及管控信息。
168.可选的,用户在被控端对一个应用程序的应用界面设置完成后,可以在控制端中继续选择新的应用程序,并继续进行界面管控,此时,第一管控策略包括多个应用程序的界面管控的界面名以及管控信息。
169.一个实施例中,用户(如家长或老师)在控制端设置第二管控策略时,需要控制端和被控端协同操作,此时,管控方法还包括步骤370-步骤3120:
170.步骤370、接收控制端发送的第二管控设置指令,第二管控设置指令用于应用程序的元素管控。
171.示例性的,控制端的用户(如家长或老师)在控制端中选择元素管控的应用程序时,控制端生成第二管控设置指令并发送给被控端。第二管控设置指令用于通知被控端当前进行元素管控以及进行元素管控的应用程序。第二管控设置指令的生成方式与第一管控设置指令的生成方式相似,当前不作赘述。可选的,第二管控设置指令至少包括:表示元素管控的相关字符及应用程序的应用图标名或应用程序的app包名。
172.步骤380、根据第二管控设置指令,启动相应的应用程序。
173.示例性的,被控端解析第二管控设置指令后,明确进行元素管控及需管控的应用程序,之后,启动该应用程序。
174.步骤390、显示应用程序的应用界面,应用界面处于第二编辑模式。
175.应用程序启动后,显示对应的应用界面,以供控制端的用户如家长或老师)进行操作。可理解,应用程序包含多个应用界面时,由用户在被控端中切换当前显示的应用界面。
176.可选的,应用界面处于第二编辑模式。第二编辑模式为进行元素管控的模式,第二编辑模式下,用户(如家长或老师)在被控端中选择管控的元素并设置对应的管控信息。
177.步骤3100、接收针对于应用界面中元素的第二编辑操作。
178.示例性的,第二编辑操作为用户在被控端中设置第二管控策略时执行的操作。
179.一个实施例中,第二编辑模式下,被控端在应用界面中添加一虚拟按键,显示该虚拟按键可参考第一编辑模式下显示虚拟按键的相关描述,当前不作赘述。若被控端检测到该虚拟按键接收到设定操作(如点击操作),则确定当前显示的应用界面中存在需要管控的元素。之后,由用户在应用界面中选择需要管控的元素,此时,被控端检测到某个元素所在的位置接收到设定操作(如点击操作)时,确定该元素为需要管控的元素。之后,被控端通过uiautomator dump命令查找元素的元素名,并且显示设置管控信息的界面。显示的设置管控信息的界面可参考界面管控时显示的设置管控信息的界面的相关描述,当前不作赘述。之后,用户在该界面中选择元素状态,还可以选择元素状态对应的执行时间(即管控时间),该过程可参考用户选择界面状态以及相应的管控时间的相关描述,当前不作赘述。针对当前管控的元素,设置完成管控信后,被控端恢复显示当前的应用界面。之后,用户可以根据
实际需求,在当前应用界面中选择新的元素,或者是切换至新的应用界面并在新的应用界面中选择元素进行元素管控。需说明,上述过程中,每个元素均需要单独进行管控设置,实际应用中,同一应用界面中的元素可以同时设置管控信息,例如,用户在应用界面中选择当前需要进行管控的全部元素,之后,被控端显示的设置管控信息的界面包含各元素的管控信息的设置选项,用户在该界面中可以完成对各元素的管控信息设置。
180.可理解,用户选择应用界面的操作,在应用界面中选择元素的操作、设置元素状态的操作、设置执行时间的操作等均可以认为是第二编辑操作。
181.步骤3110、根据第二编辑操作确定元素的管控信息。
182.示例性的,用户每设置完一个应用界面的元素的管控信息或者是每设置完一个元素的管控信息后,被控端获取管控信息,管控信息通过第而编辑操作确定。其中,元素的管控信息包括元素名、元素状态,还包括管控时间等内容。
183.步骤3120、将元素的管控信息反馈至控制端,以使控制端生成用于管控元素的第二管控策略。
184.示例性的,被控端将管控信息反馈至控制端,之后,控制端根据管控信息生成第二管控策略。可选的,控制端接收管控信息后,先显示管控信息,以供用户在控制端进行确认,当用户确认无误后,控制端生成第二管控策略。可选的,当用户在被控端中对多个应用界面的元素进行管控时,控制端生成的第二管控策略包含多个应用界面的元素名以及管控信息。
185.可选的,用户在被控端对一个应用程序的元素设置完成后,可以在控制端中继续选择新的应用程序,并继续进行界面管控,此时,第二管控策略包括多个应用程序的元素的元素名以及管控信息。可理解,界面管控和元素管控可以一同进行,例如,用户先选择了界面管控,设置完成后,再选择元素管控,设置完成后,生成的管控策略包括第一管控策略和第二管控策略。
186.上述,通过被控端和控制端的协同操作,可以实现生成第一管控策略和第二管控策略,并且,用户在控制端中选择应用程序后,在被控端中选择应用界面或元素,可以实现对应用界面或元素的精准选择,进而实现对应用程序更细粒度的管控。
187.本技术一个实施例还提供了一种应用程序的管控方法,该管控方法可以由应用程序的管控设备执行,该管控设备可以通过软件和/或硬件的方式实现,该管控设备可以是两个或多个物理实体构成,也可以是一个物理实体构成。一个实施例中,管控设备是供家长或老师使用的电子设备,例如,管控设备可以是笔记本电脑、手机、平板电脑、交互智能平板等电子设备。
188.示例性的,管控设备安装有至少一类操作系统,其中,操作系统包括但不限定于ios系统、android系统、linux系统及windows系统等。管控设备可以安装应用程序,该应用程序可以是操作系统自带的应用程序,还可以第三方开发的应用程序,管控设备也可为应用程序本身。管控设备还配置至少一块显示屏,显示屏可以具有触控功能也可以不具有触控功能,当显示屏具有触控功能时,其可以是电容屏、电磁屏和/或红外屏等。一个实施例中,以显示屏具有触控功能为例,此时,用户通过触控显示屏的方式对管控设备进行控制。可理解,用户还可以通过鼠标、键盘等外置设备对管控设备进行控制。管控设备还包括通信模块,通过通信模块可以与其他的设备进行数据通信,通信模块采用的通信机制可以根据
实际情况设置,例如,通信模块作为物联网通道进行数据通信。
189.一个实施例中,当前,将家长或老师使用的管控设备作为控制端,可以对儿童使用的被控端(可参考前述实施例的相关内容)中的应用程序进行管控。一个实施例中,控制端中运行与被控端适配的应用程序或微信小程序等,以通过控制端的应用程序或微信小程序对被控端中应用程序进行管控,此时,适配的应用程序或微信小程序也可认为是控制端。适配过程当前不作限定。
190.应用程序的管控设备作为控制端,执行应用程序的管控方法时,其流程如图6所示。图6为本技术一个实施例提供的一种应用程序的管控方法的流程图。参考图6,该管控方法包括:
191.步骤410、显示第一管控界面。
192.控制端的用户(如家长或老师)对被控端进行管控时,打开与被控端适配的应用程序或微信小程序,并进入管控的功能。之后,控制端显示一个管控界面,当前,将该管控界面记为第一管控界面,其可认为是管控主界面。第一管控界面显示管控选项,当前,管控选项包括界面管控对应的选项和元素管控对应的选项,还包括应用管控对应的选项。例如,第一管控界面显示“设备app整体管控”(对应于应用管控)、“设备app界面管控”(对应于界面管控)、“设备app局部管控”(对应于元素管控)三个选项。
193.步骤420、接收作用于第一管控界面的第一选择操作,第一选择操作用于选择界面管控或元素管控。
194.示例性的,第一选择操作是用于选择界面管控或元素管控的操作。示例性的,当检测到界面管控或元素管控对应的选项接收到设定操作(如点击操作)时,确定接收到第一选择操作。
195.步骤430、响应于第一选择操作,显示第二管控界面,第二管控界面中显示被控端安装的各应用程序。
196.示例性的,第一选择操作用于选择界面管控时,控制端进入界面管控的相关界面,该界面下,控制端显示有被控端中安装的应用程序,以供用户选择。第一选择操作用于选择元素管控时,控制端进入元素管控的相关界面,该界面下,控制端也显示有被控端中安装的应用程序,以供用户选择。此时,控制端显示的应用程序可以是被控端中可以被管控的应用程序。一个实施例中,将当前显示的界面记为第二管控界面。可理解,界面管控的相关界面和元素管控的相关界面均可认为是第二管控界面,并且,两个第二管控界面均显示有被控端中安装的应用程序,两个第二管控界面的界面样式可以相同或不同,当前不作限定。可选的,应用程序通过应用图标的方式呈现在第二管控界面中。
197.可理解,控制端和被控端配对后,控制端可以确认被控端中安装的应用程序,并将应用程序的应用图标显示在第二管控界面中。
198.步骤440、接收作用于第二管控界面的第二选择操作。
199.示例性的,界面管控时,第二选择操作用于选择进行界面管控的应用程序。元素管控时,第二选择操作用于选择进行元素管控的应用程序。第二选择操作的触发方式不作限定,例如,检测到第二管控界面中某个应用程序的应用图标接收到点击操作时,确定接收到第二选择操作。
200.需说明,用户除了在第二管控界面中进行第二选择操作,还可以将第二管控界面
切换回第一管控界面,以使用户重新选择管控选项。
201.步骤450、通知被控端启动相应的应用程序,应用程序通过第二选择操作确定。
202.第二选择操作选择应用程序后,控制端将选择结果以及管控类型通知给被控端,以由被控端启动相应的应用程序。示例性的,界面管控时,控制端生成第一管控设置指令并发送给被控端。元素管控时,控制端根据选择结果生成第二管控设置指令并发送给被控端。
203.步骤460、接收被控端反馈的管控信息,管控信息由用户对被控端的应用程序进行操作后生成。
204.示例性的,界面管控时,被控端启动应用程序后,显示应用程序的应用界面,应用界面处于第一编辑模式,之后,用户对应用界面进行第一编辑操作,以根据第一编辑操作生成管控信息并反馈至控制端。元素管控时,被控端启动应用程序后,显示应用程序的应用界面,应用界面处于第二编辑模式,之后,用户对应用界面进行第二编辑操作,之后,被控端根据第二编辑操作生成管控信息并反馈至控制端。
205.一个实施例中,被控端通过iot通道向控制端发送管控信息。
206.步骤470、根据管控信息生成管控策略,管控策略包括用于界面管控的第一管控策略或用于元素管控的第二管控策略。
207.控制端接收管控信息后,生成管控策略。可选的,控制端接收到管控信息后,可以向用户提示是否继续设置,若用户选择继续管控,则控制端可以继续显示第二管控界面或者第一管控界面,以使用户继续设置。若用户选择不再管控,则控制端基于接收的全部管控信息生成管控策略。此时,管控策略可以包括第一管控策略和/或第二管控策略。
208.步骤480、将管控策略发送至被控端,以使被控端执行管控策略。
209.控制端生成管控策略后,通过iot通道将管控策略下发至被控端。被控端接收到管控策略后,进行相应的设置。
210.上述,通过控制端和被控端的协同操作,以对被控端中应用程序进行界面管控、元素管控,可以实现对应用程序更细粒度的管控。
211.本技术一个实施例中,控制端还可以进行应用管控,相应的,管控策略还包括用于应用管控的第三管控策略。此时,第一选择操作还用于选择应用管控。可理解,当检测到第一管控界面中应用管控对应的选项接收到点击操作时,确定接收到第一选择操作,之后,进入应用管控的相关界面,该界面中显示被控端安装的应用程序,以供用户选择。当前显示的界面也可记为第二管控界面。
212.一个实施例中,第一选择操作还用于选择应用管控时,显示第二管控界面之后,还包括步骤490-步骤4100:
213.步骤490、接收作用于第二管控界面的第三编辑操作。
214.示例性的,第三编辑操作为用户(如家长或老师)在控制端中设置第三管控策略时执行的操作。
215.示例性的,控制端检测到第二管控界面中某个应用图标所在的位置接收到设定操作(如点击操作)时,确定用户选择了该应用程序进行应用管控。之后,控制端显示设置管控信息的界面,该界面可部分或全部遮盖在第二管控界面之上,该界面的内容可以根据实际情况设置。例如,界面中显示有“禁用or非禁用”、“禁用时间or非禁用时间”等内容,之后,用户在该界面中选择应用状态,还可以选择应用状态对应的执行时间(即管控时间)。可选的,
该界面中还显示有表示“设置完成”的虚拟按键,当该虚拟按键接收点击操作时,确定设置完成。之后,恢复显示第二管控界面。可选的,用户可以根据实际需求,在第二管控界面中选择新的应用程序进行管控,或者是,返回第一管控界面,以重新选择管控选项。可理解,用户选择应用程序、设置应用状态的操作、设置执行时间等操作均可以认为是第三编辑操作。
216.步骤4100、根据第三编辑操作,生成管控策略,管控策略包括用于应用管控的第三管控策略。执行步骤480。
217.示例性的,用户完成对一个或多个应用程序的管控后,控制端根据管控信息生成第三管控策略。管控信息通过第三编辑操作确定。
218.需说明,一次管控过程中,用户可以进行应用管控、界面管控以及元素管控中的至少一种,控制端生成的管控策略包括第一管控策略、第二管控策略和第三管控策略中的至少一种。之后,将管控策略下发至被控端执行。
219.上述,在控制端除了设置界面管控、元素管控,还可以设置应用管控,丰富了管控细粒度。
220.需说明,未在本实施例中描述的技术细节,可参考前述实施例中的相关描述,具备相应的功能和有益效果。
221.图7为本技术一个实施例提供的一种应用程序的管控装置的结构示意图。该管控装置位于作为被控端的应用程序的管控设备中。参考图7,该管控装置包括运行模块501、第一显示模块502、第一锁定模块503、第二锁定模块504、第一接收模块505、拦截模块506。
222.其中,运行模块501,用于运行应用程序;第一显示模块502,用于显示应用程序的应用界面;第一锁定模块503,用于应用界面为目标界面时,锁定应用界面,目标界面通过第一管控策略确定,第一管控策略由关联的控制端生成;第二锁定模块503,用于应用界面为非目标界面且应用界面包含目标元素时,锁定目标元素,目标元素通过第二管控策略确定,第二管控策略由控制端生成;第一接收模块,用于接收控制操作;拦截模块,用于在控制操作作用于目标界面或目标元素时,拦截控制操作。
223.本技术一个实施例中,还包括:第六接收模块,用于运行应用程序之前,接收应用程序的启动指令;第一获取模块,用于响应于启动指令,获取应用程序的应用状态;第一启动模块,用于应用状态为非禁用状态时,启动应用程序,应用状态通过第三管控策略确定,第三管控策略由控制端生成。
224.本技术一个实施例中,还包括:第一提示模块,用于应用状态为禁用状态时,弹出第一管控提示并放弃启动应用程序。
225.本技术一个实施例中,还包括:第二提示模块,用于拦截控制操作时,弹出第二管控提示。
226.本技术一个实施例中,第一显示模块502包括:第二获取单元,用于获取应用界面的界面状态,界面状态通过所述第一管控策略确定;第一确定单元,用于界面状态为禁用状态时,确定应用界面为目标界面;第一加载单元,用于通过draw函数加载应用界面中的各元素;第四显示单元,用于显示各元素,以实现显示应用界面;第二确定单元,用于界面状态为非禁用状态时,确定应用界面为非目标界面;第二加载单元,用于通过draw函数加载应用界面中的各元素,并在加载过程中,获取各元素的元素状态,元素状态通过第二管控策略确定;第三确定单元,用于元素状态为禁用状态时,确定相应的元素为目标元素;第五显示单
元,用于显示各元素,以实现显示应用界面。
227.本技术一个实施例中,第一锁定模块503包括:第三获取单元,用于应用界面为目标界面时,通过viewrootimpl类获取应用界面的第一位置数据,目标界面通过第一管控策略确定,第一管控策略由关联的控制端生成;第一遮挡单元,用于根据第一位置数据显示第一遮挡层,第一遮挡层覆盖在应用界面上。第二锁定模块504包括:第四获取单元,用于应用界面为非目标界面且应用界面包含目标元素时,通过viewrootimpl类获取目标元素的第二位置数据,目标元素通过第二管控策略确定,第二管控策略由关联的控制端生成;第二遮挡单元,用于根据第二位置数据显示第二遮挡层,第二遮挡层覆盖在目标元素上。
228.本技术一个实施例中,还包括:第七接收模块,用于接收控制端发送的管控策略;保存模块,用于保存管控策略;调用模块,用于通过getinstalledpackages接口调用管控策略;第三确定模块,用于管控策略包括第一管控策略时,确定第一管控策略所管控的应用界面;第一设置模块,用于根据第一管控策略设置应用界面的界面状态,界面状态包括禁用状态和非禁用状态;第四确定模块,用于管控策略包括第二管控策略时,确定第二管控策略所管控的元素;第二设置模块,用于根据第二管控策略设置元素的元素状态,元素状态包括禁用状态和非禁用状态。
229.本技术一个实施例中,还包括:第五确定模块,用于管控策略包括第三管控策略时,确定第三管控策略所管控的应用程序;第三设置模块,用于根据第三管控策略设置应用程序的应用状态,应用状态包括禁用状态和非禁用状态;读取模块,用于应用状态为禁用状态时,读取运行任务列表;清楚模块,用于运行任务列表中记录应用程序时,在运行任务列表中清除应用程序。
230.本技术一个实施例中,第一设置模块包括:第六确定单元,用于根据第一管控策略确定应用界面的第一管控时间,并根据第一管控时间设置应用界面的界面状态,界面状态包括禁用状态和非禁用状态。第二设置模块包括:第七确定单元,用于根据第二管控策略确定元素的第二管控时间,并根据第二管控时间设置元素的元素状态,元素状态包括禁用状态和非禁用状态。
231.本技术一个实施例中,界面状态为禁用状态,第一设置模块具体用于包括:根据第一管控策略在应用界面的界面名中添加第一锁标志。元素状态为禁用状态,第二设置模块具体用于包括:根据第二管控策略在元素的元素名中添加第二锁标志。
232.本技术一个实施例中,还包括:第八接收模块,用于接收控制端发送的第一管控设置指令,第一管控设置指令用于应用程序的界面管控;第二启动模块,用于根据第一管控设置指令,启动相应的应用程序;第六显示模块,用于显示应用程序的应用界面,应用界面处于第一编辑模式;第九接收模块,用于接收针对于应用界面的第一编辑操作;第八确定模块,用于根据第一编辑操作确定应用界面的管控信息;第一反馈模块,用于将应用界面的管控信息反馈至控制端,以使控制端生成用于管控应用界面的第一管控策略。
233.本技术一个实施例中,还包括:第十接收模块,用于接收控制端发送的第二管控设置指令,第二管控设置指令用于应用程序的元素管控;第三启动模块,用于根据第二管控设置指令,启动相应的应用程序;第七显示模块,用于显示应用程序的应用界面,应用界面处于第二编辑模式;第十一接收模块,用于接收针对于应用界面中元素的第二编辑操作;第九确定模块,用于根据第二编辑操作确定元素的管控信息;第二反馈模块,用于将元素的管控
信息反馈至控制端,以使控制端生成用于管控元素的第二管控策略。
234.上述提供的管控装置可用于执行上述任意实施例中与被控端有关的管控方法,具备相应的功能和有益效果。
235.图8为本技术一个实施例提供的一种应用程序的管控装置的结构示意图。该管控装置位于作为控制端的应用程序的管控设备中。参考图8,该管控装置包括第二显示模块601、第二接收模块602、第三显示模块603、第四接收模块604、通知模块605、第五接收模块606、第一生成模块607、第一发送模块608。
236.其中,第二显示模块601,用于显示第一管控界面;第二接收模块602,用于接收作用于第一管控界面的第一选择操作,第一选择操作用于选择界面管控或元素管控;第三显示模块603,用于响应于所述第一选择操作,显示第二管控界面,第二管控界面中显示被控端安装的各应用程序;第四接收模块604,用于接收作用于第二管控界面的第二选择操作;通知模块605,用于通知被控端启动相应的应用程序,应用程序通过第二选择操作确定;第五接收模块606,用于接收被控端反馈的管控信息,管控信息由用户对被控端的应用程序进行操作后生成;第一生成模块607,用于根据管控信息生成管控策略,管控策略包括用于界面管控的第一管控策略或用于元素管控的第二管控策略;第一发送模块608,用于将管控策略发送至被控端,以使被控端执行管控策略。
237.本技术一个实施例中,第一选择操作还用于选择应用管控;还包括:第十二接收模块,用于显示第二管控界面,接收作用于第二管控界面的第三编辑操作;第二生成模块,用于根据第三编辑操作,生成管控策略,管控策略包括用于应用管控的第三管控策略;第二发送模块,用于将管控策略发送至被控端,以使被控端执行管控策略。
238.上述提供的管控装置可用于执行上述任意实施例中与控制端有关的管控方法,具备相应的功能和有益效果。
239.值得注意的是,上述管控装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名也只是为了便于相互区分,并不用于限制本技术的保护范围。
240.图9为本技术一个实施例提供的一种应用程序的管控设备的结构示意图。该管控设备可以为控制端,还可以作为被控端。如图9所示,该管控设备包括处理器70、存储器71、输入装置72、输出装置73、显示屏74;管控设备中处理器70的数量可以是一个或多个,图9中以一个处理器70为例。管控设备中处理器70、存储器71、输入装置72、输出装置73、显示屏74可以通过总线或其他方式连接,图9中以通过总线连接为例。
241.存储器71作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本技术实施例中的管控设备方法对应的程序指令/模块(例如管控设备作为被控端时,管控模块包括的运行模块501、第一显示模块502、第一锁定模块503、第二锁定模块504、第一接收模块505、拦截模块506,再如管控设备作为控制端时,管控模块包括的第二显示模块601、第二接收模块602、第三显示模块603、第四接收模块604、通知模块605、第五接收模块606、第一生成模块607、第一发送模块608)。处理器70通过运行存储在存储器71中的软件程序、指令以及模块,从而执行管控设备的各种功能应用以及数据处理,即实现上述的控制端或被控端执行的管控方法。
242.存储器71可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系
统、至少一个功能所需的应用程序;存储数据区可存储根据管控设备的使用所创建的数据等。此外,存储器71可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器71可进一步包括相对于处理器70远程设置的存储器,这些远程存储器可以通过网络连接至管控设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
243.输入装置72可用于接收输入的数字或字符信息,以及产生与管控设备的用户设置以及功能控制有关的键信号输入。输出装置73可包括扬声器等音频播放设备。显示屏74用于根据处理器70的指示显示数据,如显示应用界面等。除此之外,管控设备还可以包括通信装置(图未示),用于与其他设备建立通信连接,其可以是有线通信装置和/或无线通信装置。
244.上述管控设备作为被控端时,包含相应的管控装置,可以用于执行任意由被控端执行的管控方法,具备相应的功能和有益效果。上述管控设备作为控制端时,包含相应的管控装置,可以用于执行任意由控制端执行的管控方法,具备相应的功能和有益效果。
245.本技术一个实施例还提供了一种应用程序的管控程序,该程序在被控端中被执行时,可以实现上述实施例中与被控端执行的应用程序的管控方法有关的操作。该程序在控制端中被执行时,可以实现上述实施例中与控制端执行的应用程序的管控方法有关的操作
246.需说明,应用程序的管控程序被执行时,除了执行上述操作外,还可以执行上述应用程序的管控方法实施例中提及的任意操作,且具备相应的功能和有益效果。
247.此外,本技术实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行本技术任意实施例所提供的被控端执行的应用程序的管控方法或控制端执行的应用程序的管控方法的相关操作,且具备相应的功能和有益效果。
248.其中,包含计算机可执行指令的存储介质可安装在对应的电子设备中。
249.一个实施例中,包含计算机可执行指令的存储介质执行应用程序的管控方法时,其安装的电子设备为作为被控端的应用程序的管控设备时,该应用程度的管控设备可以参考上述被控端的相关描述。其安装的电子设备为作为控制端的应用程序的管控设备时,该应用程度的管控设备可以参考上述控制端的相关描述。
250.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。
251.因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式
工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
252.在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。存储器是计算机可读介质的示例。
253.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
254.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
255.注意,上述仅为本技术的较佳实施例及所运用技术原理。本领域技术人员会理解,本技术不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本技术的保护范围。因此,虽然通过以上实施例对本技术进行了较为详细的说明,但是本技术不仅仅限于以上实施例,在不脱离本技术构思的情况下,还可以包括更多其他等效实施例,而本技术的范围由所附的权利要求范围决定。
技术特征:
1.一种应用程序的管控方法,其特征在于,包括:运行应用程序;显示所述应用程序的应用界面;所述应用界面为目标界面时,锁定所述应用界面,所述目标界面通过第一管控策略确定,所述第一管控策略由关联的控制端生成;所述应用界面为非目标界面且所述应用界面包含目标元素时,锁定所述目标元素,所述目标元素通过第二管控策略确定,所述第二管控策略由所述控制端生成;接收控制操作;所述控制操作作用于所述目标界面或所述目标元素时,拦截所述控制操作。2.根据权利要求1所述的管控方法,其特征在于,所述运行应用程序之前,还包括:接收应用程序的启动指令;响应于所述启动指令,获取所述应用程序的应用状态;所述应用状态为非禁用状态时,启动应用程序,所述应用状态通过第三管控策略确定,所述第三管控策略由所述控制端生成。3.根据权利要求2所述的管控方法,其特征在于,还包括:所述应用状态为禁用状态时,弹出第一管控提示并放弃启动所述应用程序。4.根据权利要求1所述的管控方法,其特征在于,所述拦截所述控制操作时,还包括:弹出第二管控提示。5.根据权利要求1所述的管控方法,其特征在于,所述显示所述应用程序的应用界面包括:获取所述应用界面的界面状态,所述界面状态通过所述第一管控策略确定;所述界面状态为禁用状态时,确定所述应用界面为目标界面;通过draw函数加载所述应用界面中的各元素;显示各所述元素,以实现显示应用界面;所述界面状态为非禁用状态时,确定所述应用界面为非目标界面;通过draw函数加载所述应用界面中的各元素,并在加载过程中,获取各所述元素的元素状态,所述元素状态通过所述第二管控策略确定;所述元素状态为禁用状态时,确定相应的元素为目标元素;显示各所述元素,以实现显示应用界面。6.根据权利要求1所述的管控方法,其特征在于,所述锁定所述应用界面包括:通过viewrootimpl类获取所述应用界面的第一位置数据;根据所述第一位置数据显示第一遮挡层,所述第一遮挡层覆盖在所述应用界面上;所述锁定所述目标元素包括:通过viewrootimpl类获取所述目标元素的第二位置数据;根据所述第二位置数据显示第二遮挡层,所述第二遮挡层覆盖在所述目标元素上。7.根据所述权利要求1所述的管控方法,其特征在于,还包括:接收所述控制端发送的管控策略;保存所述管控策略;通过getinstalledpackages接口调用所述管控策略;
所述管控策略包括第一管控策略时,确定所述第一管控策略所管控的应用界面;根据所述第一管控策略设置所述应用界面的界面状态,所述界面状态包括禁用状态和非禁用状态;所述管控策略包括第二管控策略时,确定所述第二管控策略所管控的元素;根据所述第二管控策略设置所述元素的元素状态,所述元素状态包括禁用状态和非禁用状态。8.根据权利要求7所述的管控方法,其特征在于,还包括:所述管控策略包括第三管控策略时,确定所述第三管控策略所管控的应用程序;根据所述第三管控策略设置所述应用程序的应用状态,所述应用状态包括禁用状态和非禁用状态;所述应用状态为禁用状态时,读取运行任务列表;所述运行任务列表中记录所述应用程序时,在所述运行任务列表中清除所述应用程序。9.根据权利要求7所述的管控方法,其特征在于,所述根据所述第一管控策略设置所述应用界面的界面状态包括:根据所述第一管控策略确定所述应用界面的第一管控时间,并根据所述第一管控时间设置所述应用界面的界面状态;所述根据所述第二管控策略设置所述元素的元素状态包括:根据所述第二管控策略确定所述元素的第二管控时间,并根据所述第二管控时间设置所述元素的元素状态。10.根据权利要求7所述的管控方法,其特征在于,所述界面状态为禁用状态,所述根据所述第一管控策略设置所述应用界面的界面状态包括:根据所述第一管控策略在所述应用界面的界面名中添加第一锁标志;所述元素状态为禁用状态,所述根据所述第二管控策略设置所述元素的元素状态包括:根据所述第二管控策略在所述元素的元素名中添加第二锁标志。11.根据权利要求1所述的管控方法,其特征在于,还包括:接收所述控制端发送的第一管控设置指令,所述第一管控设置指令用于应用程序的界面管控;根据所述第一管控设置指令,启动相应的应用程序;显示所述应用程序的应用界面,所述应用界面处于第一编辑模式;接收针对于所述应用界面的第一编辑操作;根据所述第一编辑操作确定所述应用界面的管控信息;将所述应用界面的管控信息反馈至所述控制端,以使所述控制端生成用于管控所述应用界面的第一管控策略。12.根据权利要求1所述的管控方法,其特征在于,还包括:接收所述控制端发送的第二管控设置指令,所述第二管控设置指令用于应用程序的元素管控;根据所述第二管控设置指令,启动相应的应用程序;
显示所述应用程序的应用界面,所述应用界面处于第二编辑模式;接收针对于所述应用界面中元素的所述第二编辑操作;根据所述第二编辑操作确定所述元素的管控信息;将所述元素的管控信息反馈至所述控制端,以使所述控制端生成用于管控所述元素的第二管控策略。13.一种应用程序的管控方法,其特征在于,包括:显示第一管控界面;接收作用于所述第一管控界面的第一选择操作,所述第一选择操作用于选择界面管控或元素管控;响应于所述第一选择操作,显示第二管控界面,所述第二管控界面中显示被控端安装的各应用程序;接收作用于所述第二管控界面的第二选择操作;通知所述被控端启动相应的应用程序,所述应用程序通过所述第二选择操作确定;接收所述被控端反馈的管控信息,所述管控信息由用户对所述被控端的应用程序进行操作后生成;根据所述管控信息生成管控策略,所述管控策略包括用于界面管控的第一管控策略或用于元素管控的第二管控策略;将所述管控策略发送至所述被控端,以使所述被控端执行所述管控策略。14.根据权利要求13所述的管控方法,其特征在于,所述第一选择操作还用于选择应用管控;所述显示第二管控界面之后,还包括:接收作用于所述第二管控界面的第三编辑操作;根据所述第三编辑操作,生成管控策略,所述管控策略包括用于应用管控的第三管控策略;将所述管控策略发送至所述被控端,以使所述被控端执行所述管控策略。15.一种应用程序的管控装置,其特征在于,包括:运行模块,用于运行应用程序;第一显示模块,用于显示所述应用程序的应用界面;第一锁定模块,用于所述应用界面为目标界面时,锁定所述应用界面,所述目标界面通过第一管控策略确定,所述第一管控策略由关联的控制端生成;第二锁定模块,用于所述应用界面为非目标界面且所述应用界面包含目标元素时,锁定所述目标元素,所述目标元素通过第二管控策略确定,所述第二管控策略由所述控制端生成;第一接收模块,用于接收控制操作;拦截模块,用于在所述控制操作作用于所述目标界面或所述目标元素时,拦截所述控制操作。16.一种应用程序的管控装置,其特征在于,包括:第二显示模块,用于显示第一管控界面;第二接收模块,用于接收作用于所述第一管控界面的第一选择操作,所述第一选择操
作用于选择界面管控或元素管控;第三显示模块,用于响应于所述第一选择操作,显示第二管控界面,所述第二管控界面中显示被控端安装的各应用程序;第四接收模块,用于接收作用于所述第二管控界面的第二选择操作;通知模块,用于通知所述被控端启动相应的应用程序,所述应用程序通过所述第二选择操作确定;第五接收模块,用于接收所述被控端反馈的管控信息,所述管控信息由用户对所述被控端的应用程序进行操作后生成;第一生成模块,用于根据所述管控信息生成管控策略,所述管控策略包括用于界面管控的第一管控策略或用于元素管控的第二管控策略;第一发送模块,用于将所述管控策略发送至所述被控端,以使所述被控端执行所述管控策略。17.一种应用程序的管控设备,其特征在于,包括:一个或多个处理器;存储器,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-12中任一所述的应用程序的管控方法或实现如权利要求13-14中任一所述的应用程序的管控方法。18.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-12中任一所述的应用程序的管控方法或实现如权利要求13-14中任一所述的应用程序的管控方法。
技术总结
本申请实施例公开了一种应用程序的管控方法、装置、设备及存储介质,其包括:运行应用程序;显示应用程序的应用界面;应用界面为目标界面时,锁定应用界面,目标界面通过第一管控策略确定,第一管控策略由关联的控制端生成;应用界面为非目标界面且应用界面包含目标元素时,锁定目标元素,目标元素通过第二管控策略确定,第二管控策略由控制端生成;接收控制操作;控制操作作用于目标界面或目标元素时,拦截控制操作。采用上述方法可以实现对应用程序更细粒度地管控。用程序更细粒度地管控。用程序更细粒度地管控。
技术研发人员:潘潇 郑侠松
受保护的技术使用者:广州视睿电子科技有限公司
技术研发日:2022.02.09
技术公布日:2023/8/21
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/