CN110928625A - 应用程序的运行控制方法、装置、电子设备及存储介质 - Google Patents
应用程序的运行控制方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN110928625A CN110928625A CN201911146727.XA CN201911146727A CN110928625A CN 110928625 A CN110928625 A CN 110928625A CN 201911146727 A CN201911146727 A CN 201911146727A CN 110928625 A CN110928625 A CN 110928625A
- Authority
- CN
- China
- Prior art keywords
- application program
- personalized
- control instruction
- target operation
- control
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供了一种应用程序的运行控制方法、装置、电子设备及存储介质。其中,方法包括:响应于针对个性化需求功能项的点击操作,呈现供创建个性化需求的个性化需求创建界面;响应于基于所述个性化需求创建界面触发的输入操作,获取输入的个性化需求,所述个性化需求包括用于控制至少一个应用程序的控制信息,所述控制信息包括:应用程序所执行的目标操作及执行所述目标操作的触发条件;发送所述个性化需求,以基于所述个性化需求生成对应所述应用程序的控制指令;接收所述触发条件得到满足时返回的所述控制指令;基于所述控制指令,控制所述应用程序执行所述目标操作。通过本发明,能够在满足用户的个性化需求的同时,提高应用程序运行的效率。
Description
技术领域
本发明涉及计算机软件领域中的自动控制技术,尤其涉及一种应用程序的运行控制方法、装置、电子设备及存储介质。
背景技术
随着终端技术的不断发展,为了满足用户不同的应用需求,终端中各种功能的应用程序(APP,Application)应运而生,在实际应用中,某些情况下使用者需要应用程序具备自动执行的功能,而不需要经过多次的人机交互操作才能实现应用程序的运行。
相关技术中,控制应用程序运行的方案需要针对不同的用户需求,开发维护不同的控制机制,不能灵活自动的满足用户的个性化需求,降低应用程序运行的效率。
发明内容
本发明实施例提供一种应用程序的运行控制方法、装置、电子设备及存储介质,能够在满足用户的个性化需求的同时,提高应用程序运行的效率。
本发明实施例的技术方案是这样实现的:
本发明实施例提供一种应用程序的运行控制方法,所述方法包括:
响应于针对个性化需求功能项的点击操作,呈现供创建个性化需求的个性化需求创建界面;
响应于基于所述个性化需求创建界面触发的输入操作,获取输入的个性化需求,所述个性化需求包括用于控制至少一个应用程序的控制信息,所述控制信息包括:应用程序所执行的目标操作及执行所述目标操作的触发条件;
发送所述个性化需求,以基于所述个性化需求生成对应所述应用程序的控制指令;
接收所述触发条件得到满足时返回的所述控制指令;
基于所述控制指令,控制所述应用程序执行所述目标操作。
本发明实施例还提供一种应用程序的运行控制装置,所述装置包括:
界面呈现单元,用于响应于针对个性化需求功能项的点击操作,呈现供创建个性化需求的个性化需求创建界面;
需求获取单元,用于响应于基于所述个性化需求创建界面触发的输入操作,获取输入的个性化需求,所述个性化需求包括用于控制至少一个应用程序的控制信息,所述控制信息包括:应用程序所执行的目标操作及执行所述目标操作的触发条件;
需求发送单元,用于发送所述个性化需求,以基于所述个性化需求生成对应所述应用程序的控制指令;
指令接收单元,用于接收所述触发条件得到满足时返回的所述控制指令;
操作控制单元,用于基于所述控制指令,控制所述应用程序执行所述目标操作。
上述方案中,所述需求发送单元,还用于:
响应于基于所述个性化需求触发的发送请求,向服务器发送所述个性化需求,以使所述服务器对所述个性化需求进行解析生成对应所述应用程序的控制指令。
上述方案中,所述应用程序的运行控制装置还包括:
指令转化单元,用于在所述指令接收单元接收所述触发条件得到满足时返回的所述控制指令之后,对所述控制指令进行指令转化,生成供操作***识别的控制指令。
上述方案中,所述指令接收单元,还用于:
检测所述触发条件是否得到满足;
当检测到所述触发条件得到满足时,通过与服务器间建立的长连接,接收所述服务器返回的所述控制指令。
上述方案中,所述操作控制单元,还用于:
开启操作***的辅助服务;
发送所述控制指令至所述辅助服务,以使所述辅助服务触发辅助服务回调事件,响应于基于所述辅助服务回调事件触发的监听针对所述应用程序的待执行事件,所述待执行事件包括至少一个目标操作;
基于所述控制指令,控制所述应用程序执行所述待执行事件对应的目标操作。
上述方案中,所述操作控制单元,还用于:
抓取所述应用程序的目标页面;
查找供执行所述目标操作的模拟操作节点;
在所述应用程序的目标页面中,基于所述控制指令,在对应所述模拟操作节点的位置上控制所述应用程序执行所述目标操作。
上述方案中,所述操作控制单元,还用于:
当所述至少一个应用程序包括多个应用程序,所述多个应用程序至少包括第一应用程序和第二应用程序时,
基于接收到第一触发条件得到满足时返回的控制指令,控制所述第一应用程序执行对应的第一目标操作,所述第一触发条件表示执行所述第一目标操作的触发条件;
监听到第二触发条件得到满足时,调用应用程序切换接口,以基于接收到所述第二触发条件得到满足时返回的控制指令,控制所述第二应用程序执行对应的第二目标操作,所述第二触发条件表示执行所述第二目标操作的触发条件。
本发明实施例还提供一种电子设备,所述电子设备包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本发明实施例提供的应用程序的运行控制方法。
本发明实施例还提供一种存储介质,存储有可执行指令,所述可执行指令被执行时,用于实现本发明实施例提供的应用程序的运行控制方法。
应用本发明上述实施例具有以下有益效果:
应用本发明实施例提供的应用程序的运行控制方法,通过呈现的个性化需求创建界面,用户可以输入个性化需求,能够实现对用户的个性化需求的快速获取,以灵活自动的满足用户的个性化需求;当终端获取用户输入的个性化需求后,发送个性化需求至服务器,以使服务器基于个性化需求生成对应应用程序的控制指令,以及终端在接收到执行目标操作的触发条件得到满足时返回的控制指令时,基于控制指令来控制应用程序执行目标操作,如此,采用服务器发送的控制指令,控制应用程序自动化执行目标操作,使得应用程序所执行的任何功能都可以由服务器发送控制指令来进行控制,而不再需要多次的人机交互操作,真正的实现应用程序自动运行的目的,大大提高应用程序运行的效率。
附图说明
图1为相关技术提供的Appium的实现原理架构图;
图2为本发明实施例提供的应用程序的运行控制***10的一个可选的架构示意图;
图3为本发明实施例提供的电子设备40的一个可选的硬件结构示意图;
图4为本发明实施例提供的应用程序的运行控制装置455的一个可选的组成结构示意图;
图5为本发明实施例提供的应用程序的运行控制方法的一个可选的流程示意图;
图6为本发明实施例提供的终端呈现个性化需求创建界面的过程示意图;
图7为本发明实施例提供的应用程序的运行控制方法的另一个可选的流程示意图;
图8A至图8E为本发明实施例提供的应用程序自动运行的跳转界面示意图;
图9为本发明实施例提供的基于个性化需求生成控制指令的代码示意图;
图10为本发明实施例提供的打开微信的控制指令的代码示意图;
图11为本发明实施例提供的辅助服务的运行流程示意图;
图12为本发明实施例提供的基于控制指令实现向微信常联系好友发送新年快乐的流程示意图。
具体实施方式
为了使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,所描述的实施例不应视为对本发明的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一”、“第二”等仅仅是用于区别类似的对象,不代表针对对象的特定的顺序或先后次序,可以理解地,“第一”、“第二”等在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本发明实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本发明实施例所使用的所有的技术和科学术语与属于本发明实施例的技术领域的技术人员通常理解的含义相同。本发明中所使用的术语只是为了描述具体的实施例的目的,不是旨在限制本发明。
对本发明实施例进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释。
1)安卓(Android)平台,是一种基于Linux内核的开放源代码的移动操作***,主要应用于智能终端,如智能手机和平板电脑中。
2)指令,任何可执行程序的元素的表述,比如本发明实施例下文中涉及的open、send等通用名词。
3)自动运行,是指应用程序主动、无交互的执行既定逻辑程序以实现运行。
4)响应于,用于表示所执行的操作所依赖的条件或者状态,当满足所依赖的条件或状态时,所执行的一个或多个操作可以是实时的,也可以具有设定的延迟;在没有特别说明的情况下,所执行的多个操作不存在执行先后顺序的限制。
下面分析相关技术提供的关于控制应用程序运行的技术方案。
在相关技术的一些方案(以下简称为方案一)中,提出了一种基于Appium(为一种开源测试自动化框架)的安卓应用自动化触发执行方法,该方法的实现过程包括以下步骤:获取待执行安卓应用程序的全部Activity组件名称并生成启动参数文件并启动执行;获取待执行安卓应用的图形用户界面(GUI,Graphical User Interface)信息及控件元素的信息并生成唯一标识;生成待执行应用的模拟操作事件并压栈存储;执行模拟操作事件;输出遍历结果。
上述方案一中实现应用自动化触发执行的过程,首先是基于Appium实现的,参见图1,图1为相关技术提供的Appium的实现原理架构图,Appium的实现过程如下:1)打开网页内驱动软件客户端(WebDriver Client);2)在协议层设置JS对象简谱(JSON,JavaScriptObject Notation)通信协议(JSON Wire Protocol);3)下载安装Appium服务器(AppiumServer),并配置***环境变量;4)根据应用程序接口(API,Application ProgrammingInterface)编辑自动化脚本;5)开启Appium服务,在4723端口监听自动化脚本发来的基于JS对象简谱(JSON,JavaScript Object Notation)通信协议方式传输的命令的请求;6)在安卓端如安卓手机上安装Bootstrap(为一种用于前端开发的前端框架);7)Bootstrap监听4724端口由Appium发送过来的请求,并且将请求转换成界面自动化(UiAutomator)可以识别的命令发给UiAutomator进行处理;其次,获取待执行安卓应用程序的全部Activity组件名称并生成启动参数并保存;最后获取所有控件的唯一标识。可见,上述实现过程的操作复杂且各步骤强依赖强相关,当其中一个步骤出现异常,则将导致整个应用自动化的过程结束,因此,方案一的应用自动化触发执行***的接入成本和维护成本都很高。
在相关技术的另一些方案(以下简称为方案二)中,提出了一种安卓***模拟点击自动执行方法,该方法的实现过程包括以下步骤:S1、开启安卓***的辅助服务;S2、如果收到安卓***的通知栏信息,辅助服务的辅助触发事件会被触发,辅助触发事件转换为通知事件并查找通知事件是否含有执行信息;S3、如果通知事件含有执行信息,辅助服务的点击事件执行点击该通知栏信息,跳转到软件操作界面;S4、在软件操作界面上,辅助服务的节点寻找方法找到所需操作的节点,辅助服务的点击事件在所需操作的节点位置上进行点击操作,以自动执行操作。
上述方案二中仅是针对应用程序点击操作的自动执行过程,实用性不佳,且方案二的技术点比较基础和传统,可以认为只是在安卓***的软件开发工具包(SDK,SoftwareDevelopment Kit)提供的接口上做了说明。然而,在实际应用中,如果用户发出看视频、下载游戏、打电话等等的指令,则需要开发者针对不同的用户需求,逐个进行个性化开发和维护。也就是说,每当有一个不同的用户需求就需要修改一次控制机制,不能灵活自动的满足用户的个性化需求,只能在单一的某方面需要触发机制才能实现应用程序的自动化。
为至少解决相关技术的上述技术问题,本发明实施例提供了一种应用程序的运行控制方法、装置、电子设备及存储介质,通过呈现的个性化需求创建界面,用户可以输入个性化需求,能够实现对用户的个性化需求的快速获取;采用服务器发送的控制指令,控制应用程序自动化执行目标操作,使得应用程序所执行的任何功能都可以由服务器发送控制指令来进行控制,而不再需要多次的人机交互操作,真正的实现应用程序自动运行的目的,大大提高应用程序运行的效率。
下面说明实施本发明实施例的应用程序的运行控制方法的电子设备的示例性应用,本发明实施例提供的电子设备可以实施为笔记本电脑,平板电脑,移动设备(例如,移动电话,便携式音乐播放器,个人数字助理,专用消息设备,便携式游戏设备)等各种类型的终端设备,还可以为终端设备和服务器协同实施,其中,服务器可以为云端服务器,但本发明实施例中并不仅限于云端服务器。
下面以终端设备和服务器协同实施为例,参考附图对本发明实施例的应用程序的运行控制***的示例性应用进行说明。参见图2,图2为本发明实施例提供的应用程序的运行控制***10的一个可选的架构示意图,为实现支撑的一个示例性应用,终端100(示例性示出了终端100-1和终端100-2)通过网络200连接服务器300,网络200可以是广域网或者局域网,又或者是二者的组合,使用无线链路实现数据传输。
终端100(如终端100-1),用于接收用户针对个性化需求功能项的点击操作,并响应于点击操作,在终端100的图形界面110(例如终端100-1的图形界面110-1)中呈现供创建个性化需求的个性化需求创建界面。
终端100(如终端100-1),还用于接收用户基于个性化需求创建界面触发的输入操作,并响应于输入操作,获取用户输入的个性化需求,其中,个性化需求包括用于控制至少一个应用程序的控制信息,控制信息包括应用程序所执行的目标操作及执行目标操作的触发条件。
在一些实施例中,终端100(如终端100-1),还用于接收用户基于个性化需求触发的发送请求,并响应于发送请求,将个性化需求发送至服务器300,以使服务器300对个性化需求进行解析,以生成对应所述应用程序的控制指令;这里,在实际应用中,服务器300可将生成的控制指令存储至数据库400中,服务器300既可以为单独配置的支持各种业务的一个服务器,亦可以配置为一个服务器集群。
服务器300,用于在监听到执行目标操作的触发条件得到满足时,将生成的控制指令返回至终端100(如终端100-1)。
终端100(如终端100-1),还用于接收服务器300返回的控制指令,以及基于控制指令来控制应用程序自动执行目标操作。
接下来继续对实施本发明实施例的应用程序的运行控制方法的电子设备的硬件结构进行说明。电子设备可以实施为终端设备,还可以为上述图2示出的终端设备和服务器的协同实施。
参见图3,图3为本发明实施例提供的电子设备40的一个可选的硬件结构示意图,可以理解,图3仅仅示出了电子设备的示例性结构而非全部结构,根据需要可以实施图3示出的部分结构或全部结构。本发明实施例提供的电子设备40包括:至少一个处理器410、存储器450、至少一个网络接口420和用户接口430。电子设备40中的各个组件通过总线***440耦合在一起。可以理解,总线***440用于实现这些组件之间的连接通信。总线***440除包括数据总线之外,还可包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图3中将各种总线都标为总线***440。
处理器410可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
用户接口430包括使得能够呈现媒体内容的一个或多个输出装置431,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口430还包括一个或多个输入装置432,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
存储器450可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器450可选地包括在物理位置上远离处理器410的一个或多个存储设备。
存储器450包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本发明实施例描述的存储器450旨在包括任意适合类型的存储器。
在一些实施例中,存储器450能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作***451,包括用于处理各种基本***服务和执行硬件相关任务的***程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块452,用于经由一个或多个(有线或无线)网络接口420到达其他计算设备,示例性的网络接口420包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;
呈现模块453,用于经由一个或多个与用户接口430相关联的输出装置431(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作***设备和显示内容和信息的用户接口);
输入处理模块454,用于对一个或多个来自一个或多个输入装置432之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本发明实施例提供的应用程序的运行控制装置可以采用软件方式实现,图3示出了存储在存储器450中的应用程序的运行控制装置455,其可以是程序和插件等形式的软件,包括一系列的软件模块,参见图4,图4为本发明实施例提供的应用程序的运行控制装置455的一个可选的组成结构示意图,例如,应用程序的运行控制装置455可以包括界面呈现单元4551、需求获取单元4552、需求发送单元4553、指令接收单元4554和操作控制单元4555,这些单元的功能是逻辑上的,因此,根据各软件模块所实现的功能可以进行任意的组合或进一步的拆分。这里,需要说明的是,对于图4所示的本发明实施例提供的应用程序的运行控制装置455中的各个单元的具体功能,将在下文进行说明。
在另一些实施例中,本发明实施例提供的应用程序的运行控制装置455可以采用硬件方式实现,作为示例,本发明实施例提供的应用程序的运行控制装置455可以是采用硬件译码处理器形式的处理器,其被编程以执行本发明实施例提供的应用程序的运行控制方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,ProgrammableLogic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件。
基于上述对本发明实施例提供的应用程序的运行控制***及电子设备的示例性应用和实施的说明,接下来对本发明实施例提供的应用程序的运行控制方法的实现进行说明。
参见图5,图5为本发明实施例提供的应用程序的运行控制方法的一个可选的流程示意图,在一些实施例中,该应用程序的运行控制方法可由终端实施,或由服务器及终端协同实施,下面以终端实施为例,如通过图2中的终端100-1实施,结合图5示出的步骤进行说明。
在步骤501中,终端响应于针对个性化需求功能项的点击操作,呈现供创建个性化需求的个性化需求创建界面。
在步骤502中,响应于基于个性化需求创建界面触发的输入操作,获取输入的个性化需求。
在本发明实施例中,个性化需求包括用于控制至少一个应用程序的控制信息;所述控制信息包括:应用程序所执行的目标操作及执行目标操作的触发条件。其中,应用程序所执行的目标操作可以包括但不限于以下操作:打开应用程序的操作、发送信息的操作、点击操作以及关闭应用程序的操作等。
这里,在实际实施时,终端可通过功能项的形式将“个性化需求”作为插件嵌入在应用中,使得用户通过执行对该个性化需求功能项的点击操作,进入个性化需求创建界面,在个性化需求创建界面中,用户通过点击终端呈现的创建个性化需求的图标触发个性化需求编辑指令,响应于个性化需求编辑指令,呈现个性化需求编辑页面,在个性化需求编辑页面中用户可通过语音输入的方式或者文字输入的方式输入个性化需求。
参见图6,图6为本发明实施例提供的终端呈现个性化需求创建界面的过程示意图,包括图6A和图6B,以“个性化需求”嵌入在资讯类产品比如微信中为例进行说明,如图6A所示,开发者预先在微信的发现界面中添加了个性化需求功能项“个性化需求”,当用户想要输入个性化需求时,可通过点击发现界面中显示的个性化需求功能项,进入至如图6B所示的供创建个性化需求的个性化需求创建界面,在个性化需求创建界面中,通过点击创建个性化需求的图标,比如图6B显示的“+”图标,触发显示个性化需求编辑页面,比如图6B显示的语音输入按钮以及键盘输入,选择语音输入按钮或者键盘输入中的任意一种方式即可实现对个性化需求的输入。
在步骤503中,发送个性化需求,以基于个性化需求生成对应应用程序的控制指令。
在一些实施例中,终端可以通过以下方式发送个性化需求:响应于基于所述个性化需求触发的发送请求,向服务器发送所述个性化需求,以使所述服务器对所述个性化需求进行解析生成对应所述应用程序的控制指令。
示例性地,用户想自动玩微信,只需基于个性化需求创建界面输入个性化需求“我想玩微信”即可,这样终端在获取到用户输入的个性化需求之后,将个性化需求“我想玩微信”发送至服务器,服务器接收到个性化需求“我想玩微信”后,对该个性化需求进行解析,生成对应的“打开微信”的控制指令。
在本发明实施例中,应用程序的运行控制方法还包括:建立与服务器间的长连接,通过建立的长连接向服务器发送所述个性化需求。这里,终端与服务器间的长连接可为基于传输控制协议(TCP,Transmission Control Protocol)的长连接,用于实时接收终端发送的个性化需求。
在本发明实施例中,终端与服务器之间采用Netty框架(由JBOSS提供的一个Java开源框架),基于Netty框架实现终端与服务器间的长连接,Netty提供异步非阻塞、事件驱动、高性能、高可靠、高可定制性的网络应用程序框架和工具,可用于开发服务端和客户端程序。需要说明的是,采用Netty技术实现长连接,主要是通过心跳来维持服务器与终端之间的双向通讯。
下面对基于Netty技术实现终端与服务器之间的长连接的实现逻辑进行说明。
对于服务器端的心跳请求握手认证(HeartBeatRespHandler)处理而言,主要包括以下实现逻辑:
1,服务器在网络空闲操作一定时间后,服务端失败心跳计数器加1。
2,如果收到客户端发起的ping心跳包,则清零失败心跳计数器,如果连续n次未收到客户端的ping心跳包,则关闭链路,释放资源,等待客户端重连。
对于客户端的心跳请求握手认证(HeartBeatReqHandler)处理而言,主要包括以下实现逻辑:
1,客户端网络空闲在一定时间内没有进行写操作时,则发送一个ping心跳包。
2,如果服务器端未在发送下一个心跳包之前回复pong心跳应答包,则失败心跳计数器加1。
3,如果客户端连续发送n(可根据具体业务对心跳包的发送次数进行定义)次ping心跳包,服务器端均未回复pong心跳应答包,则客户端断开连接,间隔一定时间进行重连操作,直至连接服务器成功。
在本发明实施例中,通过Netty技术实现终端与服务器之间的长连接,通过长连接实现个性化需求的传输,能够保证个性化需求的实时推送,提高个性化需求的传输效率,节约了网络开销,同时还可以降低接入和维护的成本。
在步骤504中,接收执行目标操作的触发条件得到满足时返回的控制指令。
在一些实施例中,终端可以通过以下方式接收控制指令:检测所述触发条件是否得到满足;当检测到所述触发条件得到满足时,通过与服务器间建立的长连接,接收所述服务器返回的所述控制指令。
这里,在实际实施时,终端可将接收到的控制指令存入至双向链表中,示例性地,当终端接收到多条控制指令时,可根据多条控制指令对应的接收时间,按时间顺序将多条控制指令依次存入双向链表中,通常来说,可将接收时间最晚的控制指令存入至双向链表的末尾,将接收时间最早的控制指令存入至双向链表的头部,这样,通过根据控制指令的接收时间的判断,能够优先处理最早获取到的用户的个性化需求。
在一些实施例中,终端在接收执行目标操作的触发条件得到满足时返回的控制指令之后,还可以对控制指令进行指令转化,生成供操作***识别的控制指令。其中,终端的操作***可为安卓***。
下面对控制指令的指令转化过程进行说明。在本发明实施例中,终端在接收到控制指令后,确定内置在应用程序内的可执行指令的key值,例如控制指令为“打开微信”,基于控制指令确定可执行指令的key值为{‘openWechat’:‘com.tencent.mm’},接下来,在openWechat中设置跳转微信的意图(Intent)参数,再接下来,基于Intent参数就可以控制终端跳转至微信的主界面,即可实现执行“打开微信”的目标操作。也就是说,在本发明实施例中,终端对控制指令进行指令转化的过程实际上是对Intent参数的设置过程。
在步骤505中,基于控制指令,控制应用程序执行目标操作。
在一些实施例中,终端可以通过以下方式控制应用程序执行目标操作:开启操作***的辅助服务;
发送所述控制指令至所述辅助服务,以使所述辅助服务触发辅助服务回调事件,响应于基于所述辅助服务回调事件触发的监听针对所述应用程序的待执行事件,所述待执行事件包括至少一个目标操作;
基于所述控制指令,控制所述应用程序执行所述待执行事件对应的目标操作。
这里,应用程序的待执行事件包括模拟操作(例如模拟点击、模拟长按等操作)、应用程序页面发生变化等事件,针对不同的事件类型,辅助服务需要采用不同的逻辑程序来控制应用程序执行所述待执行事件对应的目标操作。需要说明的是,辅助服务是安卓***所具备的特殊功能,本发明实施例基于控制指令控制应用程序执行目标操作的自动化过程,交由操作***的辅助服务来执行,不需要重构大量的代码,直接利用辅助服务进行模拟操作的自动执行,减少了代码冗余,优化了***的运行速度,能够快速实现目标操作的自动执行。
在一些实施例中,终端还可以通过以下方式控制应用程序执行目标操作:抓取所述应用程序的目标页面;
查找供执行所述目标操作的模拟操作节点;
在所述应用程序的目标页面中,基于所述控制指令,在对应所述模拟操作节点的位置上控制所述应用程序执行所述目标操作。
这里,可通过打开SDK下工具目录中的界面自动化视图(UiAutomator Viewer)工具,从而利用界面自动化视图工具抓取应用程序的目标页面,辅助服务的节点寻找方法根据特定字符串查找执行目标操作的模拟操作节点,示例性的,特定字符串为返回,查找到的节点为具有“返回”的按键,辅助服务基于控制指令在“返回”按键的节点上进行点击操作,以控制应用程序返回并跳转至应用程序的主界面。又例如,特定字符串为发送,查找到的节点为具有“发送”的按键,辅助服务基于控制指令在“发送”按键的节点位置上进行点击操作,可以控制应用程序将用户输入至输入框中的文字进行发送。
在一些实施例中,终端还可以通过以下方式控制应用程序执行目标操作:当所述至少一个应用程序包括多个应用程序,所述多个应用程序至少包括第一应用程序和第二应用程序时,
基于接收到第一触发条件得到满足时返回的控制指令,控制所述第一应用程序执行对应的第一目标操作,所述第一触发条件表示执行所述第一目标操作的触发条件;
监听到第二触发条件得到满足时,调用应用程序切换接口,以基于接收到所述第二触发条件得到满足时返回的控制指令,控制所述第二应用程序执行对应的第二目标操作,所述第二触发条件表示执行所述第二目标操作的触发条件。
需要说明的是,本发明实施例提供的应用程序的运行控制方法适用于多任务的个性化需求,当多任务的个性化需求涉及到多个应用程序的控制信息时,可通过调用应用程序切换接口,对不同的应用程序进行切换,以在应用程序执行目标操作的触发条件得到满足时,控制不同的应用程序执行对应的目标操作,保证对应多任务的个性化需求的应用程序能够快速、连续的切换。
本发明实施例提供的应用程序的运行控制方法中,通过呈现的个性化需求创建界面,用户可以输入个性化需求,能够实现对用户的个性化需求的快速获取,以灵活自动的满足用户的个性化需求;另外,通过采用服务器发送的控制指令,控制应用程序自动化执行目标操作,使得应用程序所执行的任何功能都可以由服务器发送控制指令来进行控制,而不再需要多次的人机交互操作,真正的实现应用程序自动运行的目的,大大提高应用程序运行的效率,提升用户体验。
继续对本发明实施例提供的应用程序的运行控制方法进行说明,参见图7,图7为本发明实施例提供的应用程序的运行控制方法的另一个可选的流程示意图,在一些实施例中,该应用程序的运行控制方法可由终端实施,或由服务器及终端协同实施,下面以服务器与终端协同实施为例,如通过图2中的终端100-1及服务器300协同实施,终端100-1对应的操作***为安卓***,终端100-1中设置有辅助服务的功能,结合图7示出的步骤进行说明。对于下文各步骤的说明中未尽的细节,可以参考上文而理解。
在步骤701中,终端接收到针对个性化需求功能项的点击操作。
在步骤702中,终端通过用户界面呈现供创建个性化需求的个性化需求创建界面。
在步骤703中,终端接收到基于个性化需求创建界面触发的输入操作。
在步骤704中,终端获取输入的个性化需求。
在本发明实施例中,所述个性化需求包括用于控制至少一个应用程序的控制信息,所述控制信息包括:应用程序所执行的目标操作及执行所述目标操作的触发条件。
在实际实施时,终端可通过功能项的形式将“个性化需求”作为插件嵌入在应用中,使得用户通过执行对该个性化需求功能项的点击操作,进入个性化需求创建界面,在个性化需求创建界面中,用户通过点击终端呈现的创建个性化需求的图标触发个性化需求编辑指令,响应于个性化需求编辑指令,呈现个性化需求编辑页面,在个性化需求编辑页面中用户可通过语音输入的方式或者文字输入的方式输入个性化需求。
在步骤705中,终端接收到基于个性化需求触发的发送请求。
在步骤706中,终端将个性化需求发送至服务器。
这里,应用程序的运行控制方法还包括:建立终端与服务器间的长连接,终端通过长连接向服务器发送个性化需求。终端与服务器间的长连接可为基于TCP的长连接,用于实时接收终端发送的个性化需求。
需要说明的是,本发明实施例中基于Netty技术实现终端与服务器之间的长连接,采用Netty技术实现长连接,主要是通过心跳来维持服务器与终端之间的双向通讯。
在步骤707中,服务器对个性化需求进行解析生成对应应用程序的控制指令。
在步骤708中,服务器在触发条件得到满足时向终端返回控制指令。
这里,终端接收控制指令的时机是在执行目标操作的触发条件得到满足时,也就是说,终端可通过以下方式接收控制指令:检测所述触发条件是否得到满足;当检测到所述触发条件得到满足时,通过与服务器间建立的长连接,接收服务器返回的所述控制指令。
这里,终端在接收执行目标操作的触发条件得到满足时返回的控制指令之后,还可以对控制指令进行指令转化,生成供操作***识别的控制指令。
在步骤709中,终端开启操作***的辅助服务。
这里,终端的操作***可为安卓***,辅助服务是安卓***所具备的特殊功能。
在步骤710中,终端的辅助服务基于控制指令,控制至少一个应用程序执行目标操作。
本发明实施例基于控制指令控制应用程序执行目标操作的自动化过程,交由操作***的辅助服务来执行,不需要重构大量的代码,直接利用辅助服务进行模拟操作的自动执行,减少了代码冗余,优化了***的运行速度,能够快速实现目标操作的自动执行。具体来说,终端的辅助服务在接收到控制指令后,将触发辅助服务回调事件,响应于基于辅助服务回调事件触发的监听针对应用程序的待执行事件,其中,待执行事件包括至少一个目标操作;然后基于控制指令,控制应用程序执行待执行事件对应的目标操作。
在实际实施时,当至少一个应用程序包括多个应用程序,且多个应用程序至少包括第一应用程序和第二应用程序时,终端的辅助服务可以通过以下方式控制应用程序执行目标操作:基于接收到第一触发条件得到满足时返回的控制指令,控制第一应用程序执行对应的第一目标操作,其中,第一触发条件表示执行第一目标操作的触发条件;监听到第二触发条件得到满足时,调用应用程序切换接口,以基于接收到第二触发条件得到满足时返回的控制指令,控制第二应用程序执行对应的第二目标操作,其中,第二触发条件表示执行第二目标操作的触发条件。这样,可以实现基于多任务的个性化需求生成的控制指令来控制不同的应用程序执行对应的目标操作。
采用本发明实施例提供的技术方案,通过呈现的个性化需求创建界面,用户可以输入个性化需求,能够实现对用户的个性化需求的快速获取,以灵活自动的满足用户的个性化需求;另外,通过采用服务器发送的控制指令,控制应用程序自动化执行目标操作,使得应用程序所执行的任何功能都可以由服务器发送控制指令来进行控制,而不再需要多次的人机交互操作,真正的实现应用程序自动运行的目的,大大提高应用程序运行的效率,提升用户体验。
下面,将说明本发明实施例在一个实际的应用场景中的示例性应用。
以一个很常见的场景为例,假设用户输入的个性化需求是“给微信常联系好友发送新年快乐后听音乐半小时关机”,对本发明实施例提供的基于服务器返回的控制指令控制应用程序自动运行的过程进行说明。
首先,用户通过上述图6所示的个性化需求功能项进行点击操作,以呈现个性化需求创建界面,在个性化需求创建界面中创建个性化需求,例如,在个性化需求创建界面中通过语音输入的方式,如长按语音输入按钮通过一句话“给微信常联系好友发送新年快乐后听音乐半小时关机”的形式输入个性化需求;接下来,终端将采集到的个性化需求发送给服务器,服务器在接收到个性化需求后,对个性化需求进行解析生成对应应用程序的控制指令,比如生成对应微信的“打开微信”等指令,该控制指令是双端(服务器端和客户端)协商好的指令;接下来,服务器将生成的控制指令下发给终端,终端接收到控制指令后需要再次转化为安卓平台能识别的可执行指令,比如打开App、模拟点击、关闭等控制指令;接下来,终端开启***的辅助服务功能,***的辅助服务功能根据当前的控制指令,有序的控制应用程序如微信、QQ音乐的自动运行。同时终端还可以将控制指令控制应用程序运行的结果反馈给服务器,从而达到应用程序自动运行的效果。显然,在本发明实施例中,当用户输入个性化需求后,应用程序执行的所有功能完全由服务器的控制指令进行控制,不再需要人机交互的操作,真正的实现应用程序自动运行的目的。
参见图8A至图8E,图8A至图8E为本发明实施例提供的应用程序自动运行的跳转界面示意图,仍以上述个性化需求为“给微信常联系好友发送新年快乐后听音乐半小时关机”为例进行说明,采用本发明实施例提供的应用程序的运行控制方法,首先打开微信的应用程序,获取到如图8A所示的首页的联系人,然后在首页的所有联系人中确定常联系好友,比如确定常联系好友为刚哇,通过针对如图8B所示的常联系好友的个人主页中的“发消息”按钮的点击操作,触发显示如图8C所示的微信聊天界面,在图8C所示的微信聊天界面中向刚哇发送“新年快乐”的消息,然后关闭微信,接下来,终端接收关闭微信时返回的控制指令,基于控制指令再次打开如图8D所示的QQ音乐的界面,并设置音乐的播放时长,比如30分钟,当音乐的播放时长达到30分钟时基于接收到的控制指令,跳转至如图8E所示的关机界面,点击关机按钮即可关闭终端。
这里,终端与服务器之间预先建立基于TCP协议的长连接,通过长连接终端向服务器实时发送个性化需求,以及实时接收服务器返回的控制指令。其中,可采用Netty技术实现长连接,Netty技术提供异步非阻塞、事件驱动、高性能、高可靠、高可定制性的网络应用程序框架和工具,可用于开发服务端和客户端程序。API使用简单,更容易上手,开发门槛低。预置了多种编解码功能,支持多种主流协议,通信框架进行灵活地拓展,经历了大规模的商业应用考验,质量和可靠性都有很好的验证。
这里,服务器在接收到终端发送的个性化需求后,需要基于个性化需求生成对应所述应用程序的控制指令,仍以上述个性化需求为“给微信常联系好友发送新年快乐后听音乐半小时关机”为例,服务器可对个性化需求“给微信常联系好友发送新年快乐后听音乐半小时关机”进行解析,以生成如图9所示的控制指令,在图9所示的控制指令中包括用于控制至少一个应用程序如微信、音乐软件的控制信息,例如,在微信中执行的目标操作为向最近常联系好友发送新年快乐。
这里,终端在接收到执行目标操作的触发条件得到满足时服务器返回的控制指令后,还需再次将接收到的控制指令转化为安卓***可识别的控制指令,例如,操作类型(type)为open的转化为Intent参数,并设置好调转参数,通过如图10所示的打开微信的控制指令,可以控制应用程序打开微信。
这里,需要说明的是,本发明实施例可采用安卓***的辅助服务(AccessibilityService)来根据当前的控制指令,有序的控制应用程序如微信、QQ音乐的自动运行。参见图11,图11为本发明实施例提供的辅助服务的运行流程示意图,该辅助服务的运行流程中需要先启动安卓***的辅助服务功能,即在终端的设置功能中开启辅助服务功能,通过手动授权的方式从而使实施本发明实施例的应用程序的运行控制方法的终端具备辅助服务的功能,然后获取***安装APP的辅助服务信息,通过开启APP的辅助服务在应用程序内部监听***辅助服务产生的事件,比如监听点击、长按等事件,监听APP状态变化(包括APP安装、卸载、页面状态的更新)的事件、监听***关机、锁屏、电量等事件,从而安卓***的辅助服务能够根据不同的事件类型执行不同的逻辑程序,控制应用程序自动运行,例如控制应用程序模拟点击、长按等操作。
这里,在实际实施时,实现应用程序自动化执行的关键是要复写辅助服务的辅助服务回调事件(onAccessibilityEvent)方法,在该方法中监听App页面变化、模拟操作等事件,根据不同的事件类型执行不同的逻辑程序,控制应用程序自动运行。示例性的,假设终端接收到服务器返回的控制指令为“向微信常联系好友发送新年快乐”,参见图12,图12为本发明实施例提供的基于控制指令实现向微信常联系好友发送新年快乐的流程示意图,首先,通过Netty技术建立长连接后调用通信回调函数(channelRead),终端可以接收到服务器返回的控制指令,该控制指令用于指示向微信常联系好友发送新年快乐;接下来,通过检查***来检查终端是否安装了微信,如果未安装微信,则自动打开***应用市场,在应用市场中搜索微信并下载安装微信,若安装过程失败则可通过弹框的形式提醒用户自行手动安装微信;若安装成功,则打开微信;接下来,辅助服务触发辅助服务回调事件,基于辅助服务回调事件触发接收到微信的状态变化(state_change)事件,当状态变化事件中包含的页面是微信首页时,则遍历微信首页的聊天记录来确定是否存在常联系人,若不存在常联系人,则该功能自动化结束,若存在常联系人则遍历联系人确定待发送新年快乐的常联系好友,并执行点击操作,进入常联系好友的个人主页,也即状态变化事件中包含的页面是常联系好友的个人主页,在常联系好友的个人主页中找到用于发消息的按钮,通过对“发消息”按钮执行点击操作,进入会话页面(也可称为与好友的微信聊天界面),也即状态变化事件中包含的页面是会话页面,在会话页面的输入框中执行输入操作,复制指令发送的内容即“新年快乐”至输入框,以完成文本的设置,文本设置好后找到发送按钮执行“新年快乐”的消息的发送操作,消息发送完成后找到返回按钮执行点击操作,控制微信返回并跳转至微信的主界面。
本发明实施例的技术方案首先可以满足用户的个性化需求,拓展性强。因为采用服务器发送的控制指令,终端将控制指令转化成安卓***能识别的命令来控制应用程序自动化执行的方式,因此,用户想控制任何应用程序的任何功能都可以通过服务器发送的控制指令来进行控制,如用户想自动玩微信,只需输入微信即可,该个性化需求发送给服务器后转为“打开微信”的控制指令,并将该控制指令发送给终端,终端接收到控制指令后再次进行指令转化,即将控制指令转化成安卓***能识别的命令,以控制打开微信。再次,接入和维护的成本都比较低,终端和服务器间建立长连接的Netty技术成熟且稳定,且自动化的过程也是交给***的辅助服务去执行。最后,实用性强,该方案可帮助老人或身体障碍的人使用终端如手机,也可以帮助工作内容重复的用户提高工作效率,还可以应用在探险领域。
本发明的技术方案带来的有益效果体现在以下方面:
1、帮助老人或使用智能设备有障碍的用户能够高效、方便的使用智能设备来控制应用程序执行目标操作。
2、人工智能化,如自动执行重复性的工作,解放人力,提高产出。
3、在探索领域,采集需要的数据,如实时跟踪煤矿开采时的空气成分,实用性强。
接下来对本发明实施例提供的应用程序的运行控制装置455的软件实现进行说明。以上述实施本发明实施例的应用程序的运行控制方法的电子设备40中的存储器450所包括的软件模块为例进行说明,对于下文关于模块的功能说明中未尽的细节,可以参考上文本发明方法实施例的描述而理解。
界面呈现单元4551,用于响应于针对个性化需求功能项的点击操作,呈现供创建个性化需求的个性化需求创建界面;需求获取单元4552,用于响应于基于所述个性化需求创建界面触发的输入操作,获取输入的个性化需求,所述个性化需求包括用于控制至少一个应用程序的控制信息,所述控制信息包括:应用程序所执行的目标操作及执行所述目标操作的触发条件;需求发送单元4553,用于发送所述个性化需求,以基于所述个性化需求生成对应所述应用程序的控制指令;指令接收单元4554,用于接收所述触发条件得到满足时返回的所述控制指令;操作控制单元4555,用于基于所述控制指令,控制所述应用程序执行所述目标操作。
在一些实施例中,就需求发送单元发送所述个性化需求,以基于所述个性化需求生成对应所述应用程序的控制指令来说,可以采用以下方式实现:
响应于基于所述个性化需求触发的发送请求,向服务器发送所述个性化需求,以使所述服务器对所述个性化需求进行解析生成对应所述应用程序的控制指令。
在一些实施例中,应用程序的运行控制装置还包括:
指令转化单元,用于在所述指令接收单元接收所述触发条件得到满足时返回的所述控制指令之后,对所述控制指令进行指令转化,生成供操作***识别的控制指令。
在一些实施例中,就指令接收单元接收所述触发条件得到满足时返回的所述控制指令来说,可以采用以下方式实现:
检测所述触发条件是否得到满足;当检测到所述触发条件得到满足时,通过与服务器间建立的长连接,接收所述服务器返回的所述控制指令。
在一些实施例中,就操作控制单元基于所述控制指令,控制所述应用程序执行所述目标操作来说,可以采用以下方式实现:
开启操作***的辅助服务;
发送所述控制指令至所述辅助服务,以使所述辅助服务触发辅助服务回调事件,响应于基于所述辅助服务回调事件触发的监听针对所述应用程序的待执行事件,所述待执行事件包括至少一个目标操作;
基于所述控制指令,控制所述应用程序执行所述待执行事件对应的目标操作。
在另一些实施例中,就操作控制单元基于所述控制指令,控制所述应用程序执行所述目标操作来说,还可以采用以下方式实现:
抓取所述应用程序的目标页面;
查找供执行所述目标操作的模拟操作节点;
在所述应用程序的目标页面中,基于所述控制指令,在对应所述模拟操作节点的位置上控制所述应用程序执行所述目标操作。
在另一些实施例中,就操作控制单元基于所述控制指令,控制所述应用程序执行所述目标操作来说,还可以采用以下方式实现:
当所述至少一个应用程序包括多个应用程序,所述多个应用程序至少包括第一应用程序和第二应用程序时,
基于接收到第一触发条件得到满足时返回的控制指令,控制所述第一应用程序执行对应的第一目标操作,所述第一触发条件表示执行所述第一目标操作的触发条件;
监听到第二触发条件得到满足时,调用应用程序切换接口,以基于接收到所述第二触发条件得到满足时返回的控制指令,控制所述第二应用程序执行对应的第二目标操作,所述第二触发条件表示执行所述第二目标操作的触发条件。
本发明实施例还提供了一种存储介质,存储有可执行指令,所述可执行指令被执行时,用于实现本发明实施例提供的应用程序的运行控制方法,例如,如图5、图7示出的方法。
在一些实施例中,存储介质具体可为计算机可读存储介质,例如可以是铁电随机存取存储器(FRAM,ferromagnetic random access memory)、ROM、PROM、可擦除可编程只读存储器(EPROM,Erasable Programmable Read-Only Memory)、电可擦除可编程只读存储器(EEPROM,Electrically Erasable Programmable Read-Only Memory)、快闪存储器(FlashMemory)、磁表面存储器、光盘或只读光盘(CD-ROM,Compact Disc Read-Only Memory)等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件***中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种应用程序的运行控制方法,其特征在于,所述方法包括:
响应于针对个性化需求功能项的点击操作,呈现供创建个性化需求的个性化需求创建界面;
响应于基于所述个性化需求创建界面触发的输入操作,获取输入的个性化需求,所述个性化需求包括用于控制至少一个应用程序的控制信息,所述控制信息包括:应用程序所执行的目标操作及执行所述目标操作的触发条件;
发送所述个性化需求,以基于所述个性化需求生成对应所述应用程序的控制指令;
接收所述触发条件得到满足时返回的所述控制指令;
基于所述控制指令,控制所述应用程序执行所述目标操作。
2.如权利要求1所述的方法,其特征在于,所述发送所述个性化需求,以基于所述个性化需求生成对应所述应用程序的控制指令,包括:
响应于基于所述个性化需求触发的发送请求,向服务器发送所述个性化需求,以使所述服务器对所述个性化需求进行解析生成对应所述应用程序的控制指令。
3.如权利要求1所述的方法,其特征在于,所述方法还包括:
在所述接收所述触发条件得到满足时返回的所述控制指令之后,
对所述控制指令进行指令转化,生成供操作***识别的控制指令。
4.如权利要求1所述的方法,其特征在于,所述接收所述触发条件得到满足时返回的所述控制指令,包括:
检测所述触发条件是否得到满足;
当检测到所述触发条件得到满足时,通过与服务器间建立的长连接,接收所述服务器返回的所述控制指令。
5.如权利要求1所述的方法,其特征在于,所述基于所述控制指令,控制所述应用程序执行所述目标操作,包括:
开启操作***的辅助服务;
发送所述控制指令至所述辅助服务,以使所述辅助服务触发辅助服务回调事件,响应于基于所述辅助服务回调事件触发的监听针对所述应用程序的待执行事件,所述待执行事件包括至少一个目标操作;
基于所述控制指令,控制所述应用程序执行所述待执行事件对应的目标操作。
6.如权利要求1所述的方法,其特征在于,所述基于所述控制指令,控制所述应用程序执行所述目标操作,包括:
抓取所述应用程序的目标页面;
查找供执行所述目标操作的模拟操作节点;
在所述应用程序的目标页面中,基于所述控制指令,在对应所述模拟操作节点的位置上控制所述应用程序执行所述目标操作。
7.如权利要求1所述的方法,其特征在于,所述基于所述控制指令,控制所述应用程序执行所述目标操作,包括:
当所述至少一个应用程序包括多个应用程序,所述多个应用程序至少包括第一应用程序和第二应用程序时,
基于接收到第一触发条件得到满足时返回的控制指令,控制所述第一应用程序执行对应的第一目标操作,所述第一触发条件表示执行所述第一目标操作的触发条件;
监听到第二触发条件得到满足时,调用应用程序切换接口,以基于接收到所述第二触发条件得到满足时返回的控制指令,控制所述第二应用程序执行对应的第二目标操作,所述第二触发条件表示执行所述第二目标操作的触发条件。
8.一种应用程序的运行控制装置,其特征在于,所述装置包括:
界面呈现单元,用于响应于针对个性化需求功能项的点击操作,呈现供创建个性化需求的个性化需求创建界面;
需求获取单元,用于响应于基于所述个性化需求创建界面触发的输入操作,获取输入的个性化需求,所述个性化需求包括用于控制至少一个应用程序的控制信息,所述控制信息包括:应用程序所执行的目标操作及执行所述目标操作的触发条件;
需求发送单元,用于发送所述个性化需求,以基于所述个性化需求生成对应所述应用程序的控制指令;
指令接收单元,用于接收所述触发条件得到满足时返回的所述控制指令;
操作控制单元,用于基于所述控制指令,控制所述应用程序执行所述目标操作。
9.一种电子设备,其特征在于,所述电子设备包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现如权利要求1至7任一项所述的应用程序的运行控制方法。
10.一种存储介质,其特征在于,存储有可执行指令,所述可执行指令被执行时,用于实现如权利要求1至7任一项所述的应用程序的运行控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911146727.XA CN110928625A (zh) | 2019-11-21 | 2019-11-21 | 应用程序的运行控制方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911146727.XA CN110928625A (zh) | 2019-11-21 | 2019-11-21 | 应用程序的运行控制方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110928625A true CN110928625A (zh) | 2020-03-27 |
Family
ID=69850497
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911146727.XA Pending CN110928625A (zh) | 2019-11-21 | 2019-11-21 | 应用程序的运行控制方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110928625A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111968317A (zh) * | 2020-07-31 | 2020-11-20 | 银盛支付服务股份有限公司 | 一种通过模拟按键操作的收银方法及*** |
CN112650669A (zh) * | 2020-12-04 | 2021-04-13 | 苏州黑云智能科技有限公司 | 基于区块链的appium自动化测试方法 |
CN114296825A (zh) * | 2021-12-29 | 2022-04-08 | 杭州盈高科技有限公司 | 移动终端的启动方法、装置、存储介质及处理器 |
CN115022375A (zh) * | 2022-06-28 | 2022-09-06 | 雷沃工程机械集团有限公司 | 一种挖掘机Tbox设备下行指令编译方法 |
CN117112269A (zh) * | 2023-10-24 | 2023-11-24 | 湖南双鸿科技有限公司 | 基于安卓辅助服务功能实现跨app传输数据的方法 |
-
2019
- 2019-11-21 CN CN201911146727.XA patent/CN110928625A/zh active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111968317A (zh) * | 2020-07-31 | 2020-11-20 | 银盛支付服务股份有限公司 | 一种通过模拟按键操作的收银方法及*** |
CN112650669A (zh) * | 2020-12-04 | 2021-04-13 | 苏州黑云智能科技有限公司 | 基于区块链的appium自动化测试方法 |
CN114296825A (zh) * | 2021-12-29 | 2022-04-08 | 杭州盈高科技有限公司 | 移动终端的启动方法、装置、存储介质及处理器 |
CN115022375A (zh) * | 2022-06-28 | 2022-09-06 | 雷沃工程机械集团有限公司 | 一种挖掘机Tbox设备下行指令编译方法 |
CN115022375B (zh) * | 2022-06-28 | 2024-07-19 | 雷沃重工集团有限公司 | 一种挖掘机Tbox设备下行指令编译方法 |
CN117112269A (zh) * | 2023-10-24 | 2023-11-24 | 湖南双鸿科技有限公司 | 基于安卓辅助服务功能实现跨app传输数据的方法 |
CN117112269B (zh) * | 2023-10-24 | 2024-01-26 | 湖南双鸿科技有限公司 | 基于安卓辅助服务功能实现跨app传输数据的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110928625A (zh) | 应用程序的运行控制方法、装置、电子设备及存储介质 | |
JP7421511B2 (ja) | アプリケーションをデプロイするための方法及び装置、電子機器、読み取り可能な記憶媒体並びにコンピュータプログラム | |
US9575739B2 (en) | Performing unattended software installation | |
US10073553B2 (en) | Scripting cross-device wearable interaction | |
CN110781085B (zh) | 一种游戏自动化测试方法、装置、终端和计算机存储介质 | |
JP5171790B2 (ja) | 情報処理装置、通信システムおよびプログラム | |
CN112416345B (zh) | 一种通用客户端软件集成*** | |
US20120066674A1 (en) | Techniques for conditional deployment of application artifacts | |
CN110399159A (zh) | 操作***的部署方法、装置、计算机设备和存储介质 | |
CN102004695A (zh) | 浏览器测试方法及*** | |
CN111459539A (zh) | 基于镜像分层的持续集成流水线运行方法及装置 | |
CN113505082B (zh) | 应用程序测试方法及装置 | |
CN115407977A (zh) | 一种信息编译方法、装置、设备及计算机可读存储介质 | |
CN112199284A (zh) | 程序自动化测试方法及其相应的装置、设备、介质 | |
CN114036439A (zh) | 网站搭建方法、装置、介质及电子设备 | |
CN113254217A (zh) | 业务的消息处理方法、装置及电子设备 | |
CN112506854A (zh) | 页面模板文件的存储和页面生成方法、装置、设备及介质 | |
CN113709243B (zh) | 设备远程控制方法及装置、电子设备和存储介质 | |
JP6986590B2 (ja) | 音声スキル作成方法、音声スキル作成装置、電子機器及び記憶媒体 | |
CN112732265B (zh) | 一种数据处理方法和相关装置 | |
CN110825370B (zh) | 移动端应用开发方法、装置及*** | |
CN109491762B (zh) | 容器状态控制方法及装置、存储介质、电子设备 | |
CN116974628A (zh) | 信息获取方法、装置、电子设备及计算机可读存储介质 | |
JP2021140781A (ja) | ソースチャネル決定方法、装置、機器、プログラム及びコンピューター記憶媒体 | |
CN112597022A (zh) | 远程诊断方法、装置、存储介质及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40022464 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |