应用控制方法、装置、存储介质及电子设备与流程

文档序号:20834793发布日期:2020-05-22 16:44阅读:158来源:国知局
应用控制方法、装置、存储介质及电子设备与流程

本申请涉及通讯技术领域,尤其涉及一种应用控制方法、装置、存储介质及电子设备。



背景技术:

语音助手根据用户输入的语音消息,完成相应的任务或者提供相关服务,同时也能从网络上查找并提供各种信息,比如查找天气、打开新闻、查询股票等。用户输入的语音消息中涉及的有一些操作需要与第三方应用交互,比如听歌曲、发通讯消息(如weixin消息),分别需要与音乐播放软件,即时通讯应用(如weixin应用)进行交互。

电子设备中的一部分应用有sdk(softwaredevelopmentkit,软件开发工具包)供语音助手来调用,而很多第三方应用都未提供对应的sdk。对于没有提供sdk的第三方应用,安装该第三方应用的电子设备的系统提供了相应的机制,例如android系统的电子设备提供了accessibilityservice(辅助服务)机制,赋予语音助手控制第三方应用的一部分能力。通过该辅助服务查找第三方应用中的对应控件,执行点击或输入等操作来控制第三方应用。然而第三方应用会有更新,界面上的对应控件位置可能会发生变化;如果采用硬编码的方式,即将控制第三方应用对应控件的步骤固化在代码(计算机程序)中,一旦第三方应用版本更新,在原版本界面上的查找、点击等操作可能在新版本中并不适用,导致控制第三方应用失效。



技术实现要素:

本申请实施例提供一种应用控制方法、装置、存储介质及电子设备,能在应用版本更新时也能通过语音控制应用。

本申请实施例提供了一种应用控制方法,包括:

获取待识别的语音消息;

根据所述语音消息确定目标应用、以及利用所述目标应用执行的操作指令;

获取所述目标应用的版本号;

获取控制所述版本号的所述目标应用的脚本程序;

通过所述脚本程序控制所述目标应用来执行所述操作指令。

本申请实施例还提供了一种应用控制装置,包括:

语音获取单元,用于获取待识别的语音消息;

确定单元,用于根据所述语音消息确定目标应用、以及利用所述目标应用执行的操作指令;

版本获取单元,用于获取所述目标应用的版本号;

脚本获取单元,用于获取控制所述版本号的所述目标应用的脚本程序;

控制单元,用于通过所述脚本程序控制所述目标应用来执行所述操作指令。

本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有多条指令,所述指令适于由处理器加载以执行上述任一项应用控制方法。

本申请实施例还提供了一种电子设备,包括处理器和存储器,所述处理器与所述存储器电性连接,所述存储器用于存储指令和数据,所述处理器用于上述任一项所述的应用控制方法中的步骤。

本申请提供的应用控制方法、装置、存储介质及电子设备,根据语音消息确定目标应用、以及利用目标应用执行的操作指令,并获取目标应用的版本号,以及控制该版本号的目标应用的脚本程序,根据该脚本程序来控制目标应用。本申请实施例可以根据控制目标应用的版本号来获取对应的脚本程序,并根据该脚本程序来控制目标应用,如此实现当目标应用版本更新时也能通过语音来控制目标应用。

附图说明

下面结合附图,通过对本申请的具体实施方式详细描述,将使本申请的技术方案及其它有益效果显而易见。

图1为本申请实施例提供的应用控制系统的示意图。

图2为本申请实施例提供的应用控制方法的流程示意图。

图3为本申请实施例提供的应用控制方法的另一流程示意图。

图4为本申请实施例提供的应用控制装置的结构示意图。

图5为本申请实施例提供的确定单元的结构示意图。

图6为本申请实施例提供的脚本获取单元的结构示意图。

图7为本申请实施例提供的电子设备的结构示意图。

图8为本申请实施例提供的电子设备的另一结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本申请实施例提供一种应用控制方法、装置、存储介质及电子设备。本申请实施例提供的任一种应用控制装置,可以集成在电子设备中,该电子设备可以包括移动终端、pc端、穿戴式设备、机器人等。该电子设备中安装有语音助手等类似的语音应用,且安装有至少一个第三方应用。其中,第三方应用指的是非线性编辑系统生产商以外的软件公司提供的应用,即非软件编制方的其他组织或个人开发的相关应用。由于是非软件编制方提供的其他组织或个人开发的相关应用,因此不会提供专门的sdk(softwaredevelopmentkit,软件开发工具包)供语音助手等语音应用调用以来控制对应应用。在本申请中,第三方应用理解为未提供专门的sdk供语音助手等语音应用调用以来进行控制的各种应用。

如图1,图1是本申请实施例提供的应用控制系统的示意图,该应用控制系统包括电子设备和脚本服务器,在电子设备上安装有语音助手等类似的语音应用,且安装有至少一个第三方应用。脚本服务器中保存每个第三方应用的脚本程序,该脚本程序按照操作指令类型和第三方应用版本号进行编写并部署。

电子设备通过语音助手获取用户发出的语音消息;根据语音消息确定目标应用、以及利用目标应用执行的操作指令,其中,该目标应用为第三方应用;获取目标应用的版本号;检测本机的预设存储区中是否存在控制该版本号的目标应用的脚本程序;若不存在该脚本程序,根据版本号向脚本服务器发送脚本获取请求,以用于获取控制该版本号的目标应用的脚本程序;服务器接收到脚本获取请求后,返回控制该版本号的目标应用的脚本程序;电子设备接收到控制该版本号的目标应用的脚本程序后,通过脚本程序来控制目标应用来执行操作指令,以完成对目标应用的控制。

需要注意的是,脚本服务器中的每个第三方应用对应的脚本程序,都是预先编写和部署的,具体包括:脚本服务器按照第三方应用版本号和操作类型(一个操作类型可对应为一个操作,不同操作类型对应不同操作)编写对应的脚本程序,完成测试后,部署该脚本程序。脚本程序在部署后,可供电子设备获取并使用。

在图1中,电子设备和脚本服务器都是一个,而在实际中,电子设备和脚本服务器都可以包括更多个。

请参阅图2,图2是本申请实施例提供的应用控制方法的流程示意图,其应用于电子设备中,该应用控制方法包括步骤101~105,具体可以如下:

101,获取待识别的语音消息。

电子设备通过语音助手等类似的语音应用来获取用户的语音消息,将该语音消息作为待识别的语音消息。

102,根据语音消息确定目标应用、以及利用目标应用执行的操作指令。

识别待识别的语音消息,根据语音消息的识别结果确定目标应用、以及确定利用目标应用执行的操作指令。其中操作指令包括很多种,每个不同的第三方应用都对应有一个或者多个不同的操作指令。操作指令,例如,播放音乐、发weixin消息、关闭闹钟、发送图片、下载视频等。其中,对于某一个语音播放器来说,操作指令包括:播放音乐、播放音乐、停止播放音乐、删除音乐、下载音乐等操作指令。其中,目标应用指的是未提供对应的sdk供语音助手等语音应用调用以来进行控制的各种应用。

具体地,根据语音消息确定目标应用,包括:识别语音消息以得到识别结果;当识别结果中包括应用,且该应用为第三方应用时,将该应用确定为目标应用;当识别结果中不包括应用,根据识别结果中的操作指令确定目标应用;当识别结果中包括应用,但该应用不为第三方应用时,调用该应用的sdk控制该应用执行操作指令。

其中,通过语音识别的方法来识别语音消息,可使用任何一种语音识别的方法来进行语音消息的识别。语音消息的识别结果中包括操作指令。在一些情况下,语音消息的识别结果中还包括有应用。检测语音消息的识别结果中是否包括应用,且检测该应用是否为第三方应用,若包括应用,且该应用为第三方应用,将该应用确定为目标应用;若包括应用,但该应用不为第三方应用,调用该应用的sdk控制该应用执行操作指令。其中,可将语音消息的识别结果中进行关键词提取;将提取的关键词与应用所对应的名称进行匹配,以确定该识别结果中是否包括应用;若包括应用,将第三方应用的名称进行匹配,以确定是否为第三方应用。或者直接将提取的关键词与第三方应用和电子设备系统自带的应用进行匹配,以确定语音消息的识别结果是否包括应用,以及是否为第三方应用;还可以使用其他方式来确定识别结果中是否包括应用,以及是否为第三方应用。

例如,若语音消息的识别结果中包括:播放酷狗音乐,则提取播放、酷狗、音乐等关键词,根据关键词确定出该识别结果中包括应用:酷狗,而酷狗是第三方应用,则将该应用确定为目标应用。

具体地,若语音消息的识别结果中不包括应用,根据识别结果中的操作指令确定目标应用,包括:获取本机中能执行操作指令的所有应用;按照预设规则从所有应用中确定一个应用;当所确定的应用为第三方应用时,将所确定的应用作为目标应用;当所确定的应用不为第三方应用时,调用该应用的sdk控制该应用执行操作指令。

例如,操作指令为播放音乐,获取电子设备中能播放音乐的所有应用。其中,电子设备中能播放音乐的所有应用,包括:电子设备系统自带的音乐播放器,从应用商场中下载的各种第三方音乐播放器如音乐播放器1、音乐播放器2。

按照预设规则从所有应用中确定一个应用。其中,预设规则可以是优先使用电子设备系统自带的应用,再使用第三方应用;也可以是优先使用第三方应用,再使用电子设备系统自带的应用;也可以是获取所有应用中历史使用频率最高的一个应用,如过去一个月之内使用频率最高的一个应用;还可以是按照加载应用需要占用的内存等信息来确定一个应用,例如确定一个占用内存最小的应用;还可以是按照打开应用的平均时间或者速度等信息来确定一个应用,例如确定一个打开平均时间最短的应用;还可以是上述各种方式的结合等。

当确定一个应用后,检测所确定的应用是否为第三方应用,其中,可根据所确定应用的名称等来确定是否为第三方应用。若所确定的应用为第三方应用,则将所确定的应用作为目标应用;若所确定的应用不为第三方应用,则调用该应用的sdk控制该应用执行操作指令。

对于操作指令为播放音乐的例子,当预设规则为:优先使用第三方应用,再使用电子设备系统自带的应用;并结合历史使用频率时,根据优先使用第三方应用的规则确定音乐播放器1、音乐播放器2,再根据历史使用频率,从两个音乐播放器中确定历史使用频率最高的音乐播放器2,音乐播放器2是第三方应用,则将该音乐播放器2确定为目标应用。当预设规则为:加载应用需要占用的内存大小时,从系统自带的音乐播放器、音乐播放器1、音乐播放器2中确定占用的内存最小的应用为系统自带的音乐播放器,而系统自带的音乐播放器不是第三方应用,则调用系统自带的音乐播放器的sdk控制该音乐播放器播放音乐。

需要注意的是,语音消息的识别结果中可只包括操作指令和应用(应用可直接确定也可根据预设规则确定)。例如,播放音乐、发weixin消息、关闭闹钟、发送图片、下载视频等等。

在一些情况下,语音消息的识别结果中除了包括操作指令和应用之外,还包括有操作参数。具体地,步骤102,包括:根据语音消息确定目标应用、以及利用目标应用执行的操作指令和操作参数。其中,操作参数指的是具体操作内容。例如,播放a音乐(a为具体音乐名称,为操作参数)、发weixin给张三说你好(操作参数包括:张三,你好)、发送名称为1的图片(名称为1)、下载拜年视频(拜年)。其中,可提取识别结果中的关键词,根据关键词确定操作参数,还可以根据其他方式来确定识别结果中的操作参数。

103,获取目标应用的版本号。

电子设备中保存有目标应用的相关信息,例如,目标应用占用的存储空间、版本号、权限管理等信息。从保存目标应用的相关信息的位置获取目标应用的版本号。

104,获取控制该版本号的目标应用的脚本程序。

获取的脚本程序是该版本号的目标应用对应的脚本程序,该脚本程序实现控制该版本号所对应的目标应用。

具体地,步骤104,包括:检测本机的预设存储区中是否存在控制该版本号的目标应用的脚本程序;若本机的预设存储区中不存在控制该版本号的目标应用的脚本程序,则从脚本服务器预先保存的多个脚本程序中,下载控制该版本号的目标应用的脚本程序;若本机的预设存储区中存在控制该版本号的目标应用的脚本程序,则从预设存储区中获取控制该版本号的目标应用的脚本程序。

其中,预设存储区可以是内存中的缓存区,也可以是电子设备sd卡中的某个存储区域。检测本机的预设存储区中是否存在控制该版本号的目标应用的脚本程序,具体地,可根据操作指令来检测本机的预设存储区中是否存在控制该版本号的目标应用的脚本程序。每个脚本程序中包括操作类型和第三方应用的版本号等信息。获取本机的预设存储区中的所有脚本程序;根据操作指令从所有脚本程序中确定是否存在控制该版本号的目标应用的脚本程序;若存在,则直接从预设存储区中获取控制该版本号的目标应用的脚本程序;若不存在,则向脚本服务器发送获取指令,该获取指令用于获取该版本号的目标应用的脚本程序;接收脚本服务器基于获取指令返回的脚本程序。

脚本服务器预先保存有每个第三方应用所可能涉及的不同操作类型所对应的每个版本的脚本程序。具体地,可以文件树的形式保存。例如,每个不同第三方应用所对应的脚本程序放在不同文件夹中,一个脚本程序保存在一个文件中,一个操作类型对应不同版本,如此,一个操作类型所对应的每个不同版本的脚本程序可存放在一个文件夹中。可按照如下方式保存:

weixin_send_msg(文件夹)

1.0.0.js(在weixin1.0.0版本发信息的脚本程序)

1.0.1.js(在weixin1.0.1版本发信息的脚本程序)

...

6.0.0.js(在weixin6.0.0版本发信息的脚本程序)

weixin_send_friends(文件夹)

1.0.0.js(在weixin1.0.0版本发朋友圈的脚本程序)

1.0.1.js(在weixin1.0.1版本发朋友圈的脚本程序)

...

6.0.0.js(在weixin6.0.0版本发朋友圈的脚本程序)

其中,发信息是一个操作类型、发朋友圈是一个操作类型,它们是两个不同的操作类型。对于同一个操作类型中,不同版本的第三方应用所对应的脚本程序中包括了控制不同版本第三方应用的相应计算机程序。

在不同版本的脚本程序中,涉及控制不同第三方应用版本中相应控件的计算机程序。为了更容易理解,下面以第三方应用为音乐播放器来进行说明。

例如:音乐播放器中有一个开始播放的按钮,音乐播放器在1.0版本时,该按钮上面的文字是“播放”,音乐播放器版本更新为2.0版本时,按钮上面的文字变成了“开始”。

假设将控制音乐播放器该按钮的步骤固化在代码中,如果该音乐播放器版本更新,在1.0版本的界面上找不到“开始”所对应的按钮,因此,会导致控制该音乐播放器的开始播放失效。需要注意的是,该段的描述是为了更容易理解背景技术中的内容。

该音乐播放器存在1.0的版本和2.0的版本。在不同电子设备上,有些电子设备中可能安装了1.0版本的音乐播放器,有些电子设备中可能安装了2.0版本的音乐播放器。那么语音助手等类似的语音应用怎样才能实现“开始播放”的逻辑呢?上文中已经提到,在服务器中部署两个不同版本的脚本程序,分别对应两个版本的音乐播放器。

其中,1.0版本的脚本程序中对应的伪代码大概如下:

在音乐播放器对应界面中找到包括“播放”文字的按钮;点击该按钮。

其中,2.0版本的脚本程序中对应的伪代码大概如下:

在音乐播放器对应界面中找到包括“开始”文字的按钮;点击该按钮。

上述两种不同版本的脚本程序都可以实现开始播放音乐的操作指令,同时都兼容了不同版本的音乐播放器。

在安装了1.0版本的音乐播放器的电子设备中,获取了音乐播放器的版本为1.0后,若预设存储区中未保存1.0版本对应的脚本程序,则从服务器中下载1.0版本对应的脚本程序,以获取控制1.0版本对应的音乐播放器的脚本程序。在安装了2.0版本的音乐播放器的电子设备中,获取了音乐播放器的版本为2.0后,若预设存储区中未保存2.0版本对应的脚本程序,则从服务器中下载2.0版本对应的脚本程序,以获取2.0版本对应的音乐播放器的脚本程序。

如此,根据音乐播放器的版本号来获取控制对应版本号的音乐播放器的脚本程序,可以实现不同版本音乐播放器中开始播放音乐的操作指令。即可以实现在版本更新时也能通过语音来控制音乐播放器,避免控制失效。

进一步地,在下载控制该版本号的目标应用的脚本程序后,将该版本号的目标应用的脚本程序保存在预设存储区中。以在下次使用时直接从预设存储区中获取控制该版本号的目标应用的脚本程序,节省控制目标应用的时间。

进一步地,可将预设存储区中保存的数据进行定期清理/更新。具体地,包括:检测是否到了预设时间间隔;若到了预设时间间隔,检测预设存储区中的每个版本号的脚本程序在预设时间段内是否被获取过;若在预设时间段内被获取过,则保留该版本号的脚本程序;若在预设时间段内未被获取过,则删除该版本号的脚本程序。其中,预设时间间隔可以是一个月,半个月等,预设时间段可以是二个月、一个季度等。可以理解地,每个预设时间间隔对预设存储区中保存的数据进行定期清理/更新。

还可以使用其他方式将预设存储区中保存的数据进行定期清理/更新。具体地,包括:当第三方应用完成版本更新时,在预设存储区中获取该第三方应用的所有历史版本的脚本程序;将所有历史版本的脚本程序进行删除。可以理解地,在检测到第三方应用完成版本更新时,对预设存储区中保存的数据进行清理/更新。

105,通过脚本程序控制目标应用来执行操作指令。

通过脚本程序调用辅助服务接口,以控制目标应用来执行操作指令。

具体地,步骤105,包括:根据脚本引擎解释并执行脚本程序;在执行脚本程序的过程中,获取脚本程序中的脚本对象;通过脚本对象调用辅助服务接口,以控制目标应用来执行操作指令。

其中,脚本引擎对应的是脚本程序的引擎,就是一个计算机编程语言的解释器,解释执行脚本程序,将它译成计算机能执行的机器代码,完成脚本程序对应的一系列功能。例如,本申请实施例中的脚本引擎可以是javascript脚本引擎,也可以是lua,还可以是其他的脚本引擎等。通过脚本引擎可以解释并执行脚本程序。

其中,辅助服务接口可以是accessibilityservice。accessibilityservice是安卓系统提供的辅助服务,提供访问和控制第三方应用来执行操作指令的功能。如可以利用它获取当前应用的组件,并且执行点击,输入等操作,来控制目标应用执行操作指令。可以把通过辅助服务接口来完成的各类操作(查找并获取组件、点击、输入等操作),封装成对应的方法,供脚本程序调用。或者也可以理解为,辅助服务接口通过封装的各类方法,实现各类操作。

例如,利用封装的startactivity方法实现启动某个应用界面,通过封装的sleep方法设置延迟时间,通过封装的findviewbytext方法实现根据文本查找包括有对应文本的控件,通过封装的clickview方法实现点击某个控件,分别对应如下:

startactivity(stringaction)**启动某个应用界面**

sleep(longdelay)**延迟xx毫秒**

findviewbytext()**根据文本寻找控件**

clickview();**点击某个控件**

在具体执行脚本程序的过程中,获取脚本程序中的脚本对象,该脚本对象是预先在脚本程序中绑定的对象,通过该脚本对象来调用辅助服务接口中提供的各类方法,从而实现对目标应用的不同操作。

例如,预先在脚本程序中绑定了一个叫做android的对象。通过该对象可以调用上述提到的方法来执行操作指令,其中,操作指令可以是播放指令。具体可如下所示:

android.startactivity(“xxx”);**启动某个应用界面**

android.sleep(500);**等待500毫秒,等应用界面加载完**

varview=android.findviewbytext(“播放”);**找到包括有播放文本的控件**

android.clickview(view);**点击所找到的包括有播放文本的控件**

以上所例举的只是通过脚本程序调用辅助服务接口,以控制目标应用来执行操作指令(播放指令)的一个示例。当播放音乐时,可直接获取当前的音乐,并进行播放。

当语音消息的识别结果中除了包括操作指令和应用,还包括操作参数时,步骤105,包括:通过脚本程序调用辅助服务接口,以控制目标应用来根据操作参数执行操作指令。具体地,步骤105,包括:根据脚本引擎解释并执行脚本程序;在执行脚本程序的过程中,获取脚本程序中的脚本对象;通过脚本对象调用辅助服务接口,以控制目标应用来根据操作参数执行操作指令。

例如,播放a音乐,则控制目标应用查找/下载a音乐,并播放该a音乐(可能并不是当前的音乐);发weixin给张三说你好,则控制weixin找到好友张三,并点击发送你好等。

本申请实施例可以根据控制目标应用的版本号来获取对应的脚本程序,并根据该脚本程序来控制目标应用,如此实现当目标应用版本更新时也能通过语音来控制目标应用。

图3是本申请另一实施例提供的应用控制方法的流程示意图,其应用于电子设备中,该应用控制方法包括步骤201~211,具体可以如下:

201,获取待识别的语音消息。

202,识别语音消息以得到识别结果。

203,当识别结果中包括应用,且该应用为第三方应用时,将该应用确定为目标应用。接着执行步骤206。

204,当识别结果中不包括应用,根据识别结果中的操作指令确定目标应用。接着执行步骤206。

205,当识别结果中包括应用,但该应用不为第三方应用时,调用该应用的sdk控制该应用执行操作指令。

当识别结果中包括应用,但该应用不为第三方应用时,该应用可能是电子设备系统自带的应用,电子设备系统自带的应用可直接调用该应用的sdk来控制该应用执行操作指令。可以理解地,一般电子设备系统自带的应用都提供了对应的sdk以供调用。

206,获取目标应用的版本号。

207,检测本机的预设存储区中是否存在控制该版本号的目标应用的脚本程序。

若本机的预设存储区中不存在控制该版本号的目标应用的脚本程序,则执行步骤208;若本机的预设存储区中存在控制该版本号的目标应用的脚本程序,则执行步骤210。

208,从脚本服务器预先保存的多个脚本程序中,下载控制该版本号的目标应用的脚本程序。

209,将所下载的该版本号的目标应用的脚本程序保存在预设存储区中。

210,从预设存储区中获取控制该版本号的目标应用的脚本程序。

211,通过脚本程序控制目标应用来执行操作指令。

以上每个对应的步骤请参看上文中描述的对应内容,在此不再赘述。

根据上述实施例所描述的方法,本实施例将从应用控制装置的角度进一步进行描述,该应用控制装置具体可以作为独立的实体来实现,也可以集成在电子设备,该电子设备可以包括移动终端、pc端、穿戴式设备、机器人等。该电子设备中安装有语音助手等类似的语音应用,且安装有至少一个第三方应用。

请参阅图4,图4具体描述了本申请实施例提供的应用控制装置,应用于电子设备中,该应用控制装置可以包括:语音获取单元301、确定单元302、版本获取单元303、脚本获取单元304以及控制单元305。其中:

语音获取单元301,用于获取待识别的语音消息。

确定单元302,用于根据语音消息确定目标应用、以及利用目标应用执行的操作指令。

如图5所示,确定单元302,具体包括识别单元3021、第一应用确定单元3022、第二应用确定单元3023、调用单元3024。其中,识别单元3021,用于识别语音消息以得到识别结果。第一应用确定单元3022用于当识别结果中包括应用,且该应用为第三方应用时,将该应用确定为目标应用。第二应用确定单元3023,用于当识别结果中不包括应用,根据识别结果中的操作指令确定目标应用。调用单元3024,用于当识别结果中包括应用,但该应用不为第三方应用时,调用该应用的sdk控制该应用执行操作指令。

其中,第二应用确定单元3023,具体应用获取本机中能执行操作指令的所有应用;按照预设规则从所有应用中确定一个应用;当所确定的应用为第三方应用时,将所确定的应用作为目标应用;当所确定的应用不为第三方应用时,调用该应用的sdk控制该应用执行操作指令。

版本获取单元303,用于获取目标应用的版本号。

脚本获取单元304,用于获取控制该版本号的目标应用的脚本程序。

如图6所示,脚本获取单元304,包括检测单元3041、第一脚本获取单元3042、第二脚本获取单元3043。其中,检测单元3041,用于检测本机的预设存储区中是否存在控制该版本号的目标应用的脚本程序。第一脚本获取单元3042,用于若本机的预设存储区中不存在控制该版本号的目标应用的脚本程序,则从脚本服务器预先保存的多个脚本程序中,下载控制该版本号的目标应用的脚本程序。第二脚本获取单元3043,用于若本机的预设存储区中存在控制该版本号的目标应用的脚本程序,则从预设存储区中获取控制该版本号的目标应用的脚本程序。

脚本获取单元304,还包括保存单元3044。其中,保存单元3044,用于在下载控制该版本号的目标应用的脚本程序后,将该版本号的目标应用的脚本程序保存在预设存储区中。

进一步地,脚本获取单元304,还包括更新单元3045。其中,更新单元3045,用于将预设存储区中保存的数据进行定期清理/更新。

控制单元305,用于通过脚本程序控制目标应用来执行操作指令。

通过脚本程序调用辅助服务接口,以控制目标应用来执行操作指令。具体地,控制单元305,具体用于:根据脚本引擎解释并执行脚本程序;在执行脚本程序的过程中,获取脚本程序中的脚本对象;通过脚本对象调用辅助服务接口,以控制目标应用来执行操作指令。

通过脚本程序调用辅助服务接口,以控制目标应用来根据操作参数执行操作指令。具体地,控制单元305,具体用于:根据脚本引擎解释并执行脚本程序;在执行脚本程序的过程中,获取脚本程序中的脚本对象;通过脚本对象调用辅助服务接口,以控制目标应用来根据操作参数执行操作指令。

具体实施时,以上各个模块和/或单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个模块和/或单元的具体实施可参见前面的方法实施例,具体可以达到的有益效果也请参看前面的方法实施例中的有益效果,在此不再赘述。

另外,本申请实施例还提供一种电子设备,该电子设备可以包括移动终端、pc端、穿戴式设备、机器人等。该电子设备中安装有语音助手等类似的语音应用,且安装有至少一个第三方应用。如图7所示,电子设备400包括处理器401、存储器402。其中,处理器401与存储器402电性连接。

处理器401是电子设备400的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或加载存储在存储器402内的应用程序,以及调用存储在存储器402内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。

在本实施例中,电子设备400中的处理器401会按照如下的步骤,将一个或一个以上的应用程序的进程对应的指令加载到存储器402中,并由处理器401来运行存储在存储器402中的应用程序,从而实现各种功能:

获取待识别的语音消息;

根据所述语音消息确定目标应用、以及利用所述目标应用执行的操作指令;

获取所述目标应用的版本号;

获取控制所述版本号的所述目标应用的脚本程序;

通过所述脚本程序控制所述目标应用来执行所述操作指令。

该电子设备可以实现本申请实施例所提供的应用控制方法任一实施例中的步骤,因此,可以实现本发明实施例所提供的任一应用控制方法所能实现的有益效果,详见前面的实施例,在此不再赘述。

图8示出了本发明实施例提供的电子设备的具体结构框图,该电子设备可以用于实施上述实施例中提供的应用控制方法。该电子设备500可以为移动终端、穿戴式设备、带有触摸屏的pc端、带有触摸屏的机器人等。该电子设备中包括触摸屏,该触摸屏可用于接收输入的数字或字符信息。

rf电路510用于接收以及发送电磁波,实现电磁波与电信号的相互转换,从而与通讯网络或者其他设备进行通讯。rf电路510可包括各种现有的用于执行这些功能的电路元件,例如,天线、射频收发器、数字信号处理器、加密/解密芯片、用户身份模块(sim)卡、存储器等等。rf电路510可与各种网络如互联网、企业内部网、无线网络进行通讯或者通过无线网络与其他设备进行通讯。上述的无线网络可包括蜂窝式电话网、无线局域网或者城域网。上述的无线网络可以使用各种通信标准、协议及技术,包括但并不限于全球移动通信系统(globalsystemformobilecommunication,gsm)、增强型移动通信技术(enhanceddatagsmenvironment,edge),宽带码分多址技术(widebandcodedivisionmultipleaccess,wcdma),码分多址技术(codedivisionaccess,cdma)、时分多址技术(timedivisionmultipleaccess,tdma),无线保真技术(wirelessfidelity,wi-fi)(如美国电气和电子工程师协会标准ieee802.11a,ieee802.11b,ieee802.11g和/或ieee802.11n)、网络电话(voiceoverinternetprotocol,voip)、全球微波互联接入(worldwideinteroperabilityformicrowaveaccess,wi-max)、其他用于邮件、即时通讯及短消息的协议,以及任何其他合适的通讯协议,甚至可包括那些当前仍未被开发出来的协议。

存储器520可用于存储软件程序以及模块,如上述实施例中对应的程序指令/模块,处理器580通过运行存储在存储器520内的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器520可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器520可进一步包括相对于处理器580远程设置的存储器,这些远程存储器可以通过网络连接至电子设备500。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

输入单元530可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入单元530可包括触敏表面531以及其他输入设备532。触敏表面531,也称为触摸显示屏(触摸屏)或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面531上或在触敏表面531附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面531可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器580,并能接收处理器580发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面531。除了触敏表面531,输入单元530还可以包括其他输入设备532。具体地,其他输入设备532可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。

显示单元540可用于显示由用户输入的信息或提供给用户的信息以及移动终端500的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元540可包括显示面板541,可选的,可以采用lcd(liquidcrystaldisplay,液晶显示器)、oled(organiclight-emittingdiode,有机发光二极管)等形式来配置显示面板541。进一步的,触敏表面531可覆盖显示面板541,当触敏表面531检测到在其上或附近的触摸操作后,传送给处理器580以确定触摸事件的类型,随后处理器580根据触摸事件的类型在显示面板541上提供相应的视觉输出。虽然在图中,触敏表面531与显示面板541是作为两个独立的部件来实现输入和输出功能,但是可以理解地,将触敏表面531与显示面板541集成而实现输入和输出功能。

电子设备500还可包括至少一种传感器550,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板541的亮度,接近传感器可在翻盖合上或者关闭时产生中断。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于电子设备500还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。

音频电路560、扬声器561,传声器562可提供用户与电子设备500之间的音频接口。音频电路560可将接收到的音频数据转换后的电信号,传输到扬声器561,由扬声器561转换为声音信号输出;另一方面,传声器562将收集的声音信号转换为电信号,由音频电路560接收后转换为音频数据,再将音频数据输出处理器580处理后,经rf电路510以发送给比如另一终端,或者将音频数据输出至存储器520以便进一步处理。音频电路560还可能包括耳塞插孔,以提供外设耳机与电子设备500的通信。

电子设备500通过传输模块570(例如wi-fi模块)可以帮助用户接收请求、发送信息等,它为用户提供了无线的宽带互联网访问。虽然图示出了传输模块570,但是可以理解的是,其并不属于电子设备500的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。

处理器580是电子设备500的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器520内的软件程序和/或模块,以及调用存储在存储器520内的数据,执行电子设备500的各种功能和处理数据,从而对电子设备进行整体监控。可选的,处理器580可包括一个或多个处理核心;在一些实施例中,处理器580可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解地,上述调制解调处理器也可以不集成到处理器580中。

电子设备500还包括给各个部件供电的电源590(比如电池),在一些实施例中,电源可以通过电源管理系统与处理器580逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源590还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。

尽管未示出,电子设备500还包括摄像头(如前置摄像头、后置摄像头)、蓝牙模块等,在此不再赘述。具体在本实施例中,电子设备的显示单元是触摸屏显示器,移动终端还包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行一个或者一个以上程序包含用于进行以下操作的指令:

获取待识别的语音消息;

根据所述语音消息确定目标应用、以及利用所述目标应用执行的操作指令;

获取所述目标应用的版本号;

获取控制所述版本号的所述目标应用的脚本程序;

通过所述脚本程序控制所述目标应用来执行所述操作指令。

具体实施时,以上各个模块可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个模块的具体实施可参见前面的方法实施例,在此不再赘述。

本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。为此,本发明实施例提供一种存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本发明实施例所提供的应用控制方法中任一实施例的步骤。

其中,该存储介质可以包括:只读存储器(rom,readonlymemory)、随机存取记忆体(ram,randomaccessmemory)、磁盘或光盘等。

由于该存储介质中所存储的指令,可以执行本发明实施例所提供的应用控制方法任一实施例中的步骤,因此,可以实现本发明实施例所提供的任应用控制方法所能实现的有益效果,详见前面的实施例,在此不再赘述。

以上对本申请实施例所提供的一种应用控制方法、装置、存储介质和电子设备进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1