[0001]
本申请涉及终端领域,尤其涉及一种推荐操作序列的方法、终端及计算机可读介质。
背景技术:[0002]
近些年来语音助手类应用发展迅速,例如华为的小e,苹果的siri,三星的bixby,小米小爱等。这类语音助手类应用通常可以通过语音命令来执行手机上的常用操作,例如打电话、发消息、听音乐等等。其中,部分语音助手(例如siri)还可以根据用户的日常操作给用户推荐常用的“快捷操作”,即建议捷径(shortcut)。举例来说,siri能学习用户在各个应用软件中的日常操作。然后,siri会在“锁定”屏幕或“搜索”中建议用户执行常见任务的便捷方式。例如,如果某个用户每天使用相同的应用订购咖啡,siri可能会为该用户建议其喜爱的饮品。
[0003]
然而,当前采用的推荐操作序列的技术方案中,不能有针对性的向各用户推荐快捷方式、覆盖面窄。因此,需要研究新的推荐操作序列的方法。
技术实现要素:[0004]
本申请实施例公开了一种推荐操作序列的方法、终端及计算机可读介质,通过记录和分析用户的日常操作,能够自动向用户推荐操作序列,不需要app开发者预先定义捷径,操作简单、覆盖面广。
[0005]
第一方面,本申请实施例提供了一种推荐操作序列的方法,该方法可包括:终端获取目标操作序列被执行的次数或频率,该目标操作序列包括至少一种操作,且用于实现目标功能;该终端在该目标操作序列被执行的次数或频率超过目标阈值的情况下,输出推荐信息;该推荐信息用于推荐该目标操作序列对应的目标捷径,该目标捷径用于实现该目标功能。
[0006]
本申请实施例中,在目标操作序列被执行的次数或频率超过目标阈值时,输出推荐信息以向用户推荐生成该目标操作序列对应的目标捷径,可以有针对性的向各用户推荐其所需的捷径,操作简单,可以满足不同用户的需求。
[0007]
在一个可选的实现方式中,在终端输出推荐信息之后,该方法还包括:该终端在接收到目标指令后,生成该目标捷径;该目标指令用于指示生成该目标捷径。
[0008]
在该实现方式中,终端接收到目标指令后,可以快速地生成目标捷径,操作简单。
[0009]
在一个可选的实现方式中,上述输出推荐信息包括:输出捷径推荐窗口;该捷径推荐窗口包括确认接口和拒绝接口,该确认接口用于接收生成该目标捷径的指令,该拒绝接口,用于接收拒绝生成该目标捷径的指令;该终端在接收到目标指令包括:该终端接收到针对该确认接口的选择指令(例如点击操作或触摸操作)。
[0010]
在该实现方式中,通过捷径推荐窗口用户可以快速地选择生成目标捷径或者拒绝生成该目标捷径,操作方便。
[0011]
在一个可选的实现方式中,目标操作序列包括启动目标应用的操作和/或退出该目标应用的操作。该目标操作序列至少包括用户的两个输入操作,这些输入操作用于实现目标功能。
[0012]
在该实现方式中,目标操作序列包括实现目标功能需要用户输入的各输入操作,以便于目标操作序列对应的目标捷径可以实现该目标功能。
[0013]
在一个可选的实现方式中,在终端获取目标操作序列被执行的次数或频率之前,该方法还包括:该终端检测到该目标操作序列;更新该目标操作序列被执行的次数或频率。
[0014]
可以理解,终端检测到一次目标操作序列也就是该目标操作序列被该终端执行了一次。可选的,终端通过计数器来统计该目标操作序列被执行的次数。具体的,终端第一次检测到该目标操作序列时将该目标操作序列对应的计数值设置为1,之后每检测到一次该目标操作序列,将该计数值加1。在该实现方式中,终端可以准确、快速地更新目标操作序列被执行的次数或频率,进而及时向用户推荐相应的捷径。
[0015]
在一个可选的实现方式中,上述终端检测到目标操作序列包括:该终端检测到第一输入操作;该终端在处于记录状态且该第一输入操作为退出目标应用的操作的情况下,输出在该记录状态下记录的操作序列以得到该目标操作序列;该记录状态为该终端记录输入操作的状态。可选的,目标操作序列中的第一个操作为启动目标应用的操作(即进入目标应用的操作),最后一个操作为退出该目标应用的操作(即离开目标应用的操作)。也就是说,目标操作序列中的操作可以均是针对该目标应用的操作。可选的,终端输出在该记录状态下记录的操作序列以得到该目标操作序列之后,将其所处状态从该记录状态调整为空状态。该终端在处理空状态下不记录检测到的输入操作。
[0016]
在该实现方式中,在检测到退出目标应用的操作之后,输出在记录状态下记录的各操作,可以准确地得到一个完整的可实现某个功能的操作序列。
[0017]
在一个可选的实现方式中,在终端检测到第一输入操作之前,该方法还包括:该终端检测到第二输入操作;该终端在处于该记录状态且该第二输入操作不是退出该目标应用的操作的情况下,记录该第二输入操作。
[0018]
在该实现方式中,终端在记录状态下记录用户的输入操作,可以准确地记录用户的各种输入操作,以便于得到完整的操作序列。
[0019]
在一个可选的实现方式中,在终端检测到第一输入操作之前,该方法还包括:该终端检测到第三输入操作;该终端在未处于该记录状态且该第三输入操作为启动该目标应用的操作的情况下,将该终端当前所处状态设置为该记录状态并记录该第三输入操作。将该终端当前所处状态设置为该记录状态可以是将终端从空状态切换至记录状态。该终端可在记录状态和空状态之间切换,当终端处于空状态且检测到启动某个应用的输入操作之后,从该空状态切换到记录状态;当该终端处于记录状态且检测到退出某个应用的输入操作之后,从该记录状态切换到空状态。终端在处于空状态时,不记录用户的输入操作;在处于记录状态时,记录用户的输入操作。可选的,终端的默认状态为空状态,当检测到启动某个应用的输入操作之后,从该空状态切换到记录状态。
[0020]
在该实现方式中,终端可以快速地将其当前所处状态设置为记录状态,以便于记录用户的输入操作。
[0021]
第二方面,本申请实施例提供了一种终端,该终端包括:获取单元,用于获取目标
操作序列被执行的次数或频率,该目标操作序列包括至少一种操作,且用于实现目标功能;输出单元,用于在该目标操作序列被执行的次数或频率超过目标阈值的情况下,输出推荐信息;该推荐信息用于推荐该目标操作序列对应的目标捷径,该目标捷径用于实现该目标功能。
[0022]
本申请实施例中,在目标操作序列被执行的次数或频率超过目标阈值时,输出推荐信息以向用户推荐生成该目标操作序列对应的捷径,可以有针对性的向各用户推荐其所需的捷径,操作简单,可以满足不同用户的需求。
[0023]
在一个可选的实现方式中,终端还包括:接收单元,用于接收目标指令,该目标指令用于指示生成该目标捷径;生成单元,用于生成该目标捷径。
[0024]
在一个可选的实现方式中,该目标操作序列包括启动目标应用的操作和/或退出该目标应用的操作。
[0025]
在一个可选的实现方式中,终端还包括:检测单元,用于检测该目标操作序列;更新单元,用于更新该目标操作序列被执行的次数或频率。
[0026]
在一个可选的实现方式中,检测单元,还用于检测第一输入操作;确定单元,用于确定该终端处于记录状态且该第一输入操作为退出目标应用的操作的情况;该检测单元,还用于输出在该记录状态下记录的操作序列以得到该目标操作序列;该记录状态为该终端记录输入操作的状态。
[0027]
在一个可选的实现方式中,检测单元,还用于检测第二输入操作;该终端还包括:第一记录单元,用于在该终端处于该记录状态且该第二输入操作不是退出该目标应用的操作的情况下,记录该第二输入操作。
[0028]
在一个可选的实现方式中,检测单元,还用于检测第三输入操作;该终端还包括:状态设置单元,用于在该终端未处于该记录状态且该第三输入操作为启动该目标应用的操作的情况下,将该终端当前所处状态设置为该记录状态;第二记录单元,用于记录该第三输入操作。
[0029]
第三方面,本申请实施例提供了另一种终端,终端包括:存储器,用于存储程序;处理器,用于执行该存储器存储的该程序,当该程序被执行时,该处理器用于执行如上述第一方面至以及任一种可选的实现方式的方法。
[0030]
第四方面,本申请实施例提供了一种芯片,该芯片包括处理器与数据接口,该处理器通过该数据接口读取存储器上存储的指令,执行如上述第一方面以及任一种可选的实现方式的方法。
[0031]
第五方面,本申请实施例提供了一种计算机可读存储介质,该计算机存储介质存储有计算机程序,该计算机程序包括程序指令,该程序指令当被处理器执行时使该处理器执行上述第一方面以及任一种可选的实现方式的方法。
[0032]
第六方面,本申请实施例提供了一种计算机程序产品,该计算机程序产品包括程序指令,该程序指令当被处理器执行时使该处理器执行上述第一方面以及任一种可选的实现方式的方法。
附图说明
[0033]
为了更清楚地说明本申请实施例或背景技术中的技术方案,下面将对本申请实施
例或背景技术中所需要使用的附图进行说明。
[0034]
图1为本申请实施例提供的一种推荐捷径以及使用捷径的过程示意图;
[0035]
图2a为本申请实施例提供的一种用户操作示意图;
[0036]
图2b为本申请实施例提供的另一种用户操作示意图;
[0037]
图3为本申请实施例提供的一种终端的系统框架图;
[0038]
图4为本申请实施例提供的一种推荐操作序列的方法流程图;
[0039]
图5a为本申请实施例提供的一种推荐界面示意图;
[0040]
图5b为本申请实施例提供的一种用户确认生成目标捷径的过程示意图;
[0041]
图6为本申请实施例提供的一种检测和记录用户的操作序列的方法流程图;
[0042]
图7为本申请实施例提供的一种操作序列的存储示意图;
[0043]
图8为本申请实施例提供的一种推荐操作序列的方法流程图;
[0044]
图9为本申请实施例提供的一种终端向用户推荐操作序列的方法交互流程图;
[0045]
图10为本申请实施例提供的一种终端的结构示意图;
[0046]
图11是本申请实施例提供的另一种终端的结构示意图;
[0047]
图12是本申请实施例提供的又一种终端的结构示意图。
具体实施方式
[0048]
为了使本技术领域的人员更好地理解本申请实施例方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。
[0049]
本申请的说明书实施例和权利要求书及上述附图中的术语“第一”、“第二”、和“第三”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元。方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0050]
目前,部分语音助手(例如siri)可以根据用户的日常操作推荐常用的快捷操作,即捷径(每个捷径对应一个操作序列)。然而,语音助手(例如siri)给用户推荐的捷径均是应用程序(application,app)的开发者在app中已定义的捷径。定义捷径的方式通常是开发者在app中设置指定的域(domain)和对应的操作。例如短信应用的域是“消息”,对应的操作是“发消息”。下面以siri捷径为例,介绍siri向用户推荐捷径的过程以及用户使用捷径的过程。图1为本申请实施例提供的一种推荐捷径以及使用捷径的过程示意图。图1描述了怎样向用户推荐“买咖啡”这个捷径以及用户使用该捷径的两种实现方式。如图1所示,推荐捷径的过程可包括:
[0051]
101、用户在购物应用中下单买咖啡。
[0052]
该购物应用可以是美团等可购买咖啡的应用软件。在实际应用中,用户启动该购物应用之后,在该购物应用的购物界面中下单买咖啡。
[0053]
102、购物应用向siri提交参考捷径。
[0054]
该参考捷径为购买咖啡的捷径。该参考捷径为用户在购物应用中下单买咖啡的操作序列(包括用户的多种输入操作)对应的捷径。该参考捷径是该购物应用的开发者已定义
的捷径。
[0055]
103、siri向用户推荐参考捷径。
[0056]
可选的,终端显示该参考捷径的推荐信息,以便于用户构建该参考捷径,即“买咖啡”这个捷径。
[0057]
如图1所示,用户使用捷径的一种示例如下:
[0058]
104、用户向siri发送目标语音指令。
[0059]
可选的,该目标语音指令可以是用户设置用于指示siri执行该参考捷径的语音指令。例如,目标语音指令为“买咖啡”的语音。也就是说,用户说“买咖啡”就是通知siri执行“买咖啡”这个捷径。
[0060]
105、siri向购物应用发送参考捷径请求。
[0061]
该参考捷径请求用于请求该购物应用执行参考捷径。
[0062]
106、购物应用执行参考捷径以完成目标操作。
[0063]
该目标操作可以是“买咖啡”这个操作。购物应用执行该参考捷径的过程也就是买咖啡的过程。
[0064]
如图1所示,用户使用捷径的另一种示例如下:
[0065]
107、用户点击siri的捷径库中的参考快捷方式。
[0066]
siri的捷径库中包含多种快捷方式,每种快捷方式用于执行一种捷径操作。该参考快捷方式为参考捷径对应的快捷方式。当用户点击该参考快捷方式之后,siri向购物应用发送参考捷径请求。该参考捷径请求用于请求该购物应用执行参考捷径。
[0067]
108、siri向购物应用发送参考捷径请求。
[0068]
109、购物应用执行参考捷径以完成目标操作。
[0069]
将步骤104至步骤106与步骤107至步骤109对比可知,这两方式区别在于,用户通过siri执行参考捷径的方式不同。
[0070]
从图1可以看出,siri捷径的主要缺点是:只有app开发者定义了捷径,并在用户使用该捷径的相关功能时上报该捷径,siri才能给用户进行推荐。这样就需要app开发者定义各种捷径,操作复杂、覆盖面窄,并且难以满足不同用户的需求。因此,需要研究新的推荐捷径的方法,即推荐操作序列的方法,以克服上述缺点。下面介绍本申请实施例提供的自动推荐操作序列的方法。
[0071]
由于本申请实施例涉及用户的输入操作以及操作序列,为了便于理解,下面先对本申请实施例涉及的相关术语及相关概念进行介绍。
[0072]
首先,给出如下用户操作相关的定义。
[0073]
用户操作:用户对终端的一个动作,例如点击、滑动、手势、按键输入、语音输入等等。本申请中,终端可以是手机、平板电脑、台式电脑、个人数字助理、游戏机、可穿戴设备等。用户操作也就是用户的输入操作。一条有效的用户操作包含命令类型和具体的命令参数。例如:
[0074]
{
[0075]“type”:“type-value”[0076]“param”:“param-value”[0077]
}
[0078]
其中,“type”表示用户操作的命令类型,“param”是指用户操作具体的命令参数。
[0079]
点击操作(click):用于记录用户在屏幕上点击的用户界面(user interface,ui)控件或坐标,一个ui控件一般包含了id,text,desc等字段。目前通常使用其中的一个或多个字段作为控件的标识符。
[0080]
例如:
[0081]
{
[0082]“type”:“click”[0083]“param”:“buttonid”[0084]
}
[0085]
其中,“type”表示用户操作的命令类型,“param”是指用户操作具体的命令参数,“click”表示点击操作。
[0086]
终端如果没有获取有效的控件信息,也可以使用用户点击位置的屏幕坐标作为参数,例如:
[0087]
{
[0088]“type”:“click”[0089]“x”:“800”[0090]“y”:“1200”[0091]
}
[0092]
其中,“type”表示用户操作的命令类型,“x”和“y”表示用户点击位置的屏幕坐标。图2a为本申请实施例提供的一种用户操作示意图。如图2a所示,用户点击控件,点击位置坐标为(800,1200)。
[0093]
列表点击操作(clicklist):记录用户在列表控件上的点击动作。列表控件(listview)是一种常见的系统控件,用于显示一组同类型的数据,如联系人列表,每个联系人是列表中的一个元素(item),每个元素在列表中有指定的位置(index)。给定了一个联系人列表和联系人位置,终端就能找到对应的联系人。
[0094]
例如:
[0095]
{
[0096]“type”:“clicklist”[0097]“index”:“3”[0098]
}
[0099]
其中,“type”表示用户操作的命令类型,“index”表示被点击的元素在列表中的位置。图2b为本申请实施例提供的另一种用户操作示意图。如图2b所示,用户点击了联系人列表中的第三个元素。
[0100]
终端同样也可以使用用户点击位置的屏幕坐标作为参数
[0101]
{
[0102]“type”:“click”[0103]“x”:“500”[0104]“y”:“1000”[0105]
}
[0106]
其中,“type”表示用户操作的类型,“x”和“y”表示用户点击位置的屏幕坐标。如图2b所示,用户点击了联系人列表中的第3个元素,点击位置坐标为(500,1000)。
[0107]
输入文本操作(input):记录用户在文本框中输入的内容。
[0108]
例如:
[0109]
{
[0110]“type”:“input”[0111]“param”:“你好”[0112]
}
[0113]
其中,“type”表示用户操作的命令类型,“input”表示输入文本操作,“param”表示输入的内容。
[0114]
操作序列:从终端的桌面进入一个第一应用到离开第二应用的连续用户操作的集合。其中,该第一应用和该第二应用可以是同一应用,也可以是不同的应用。
[0115]
下面以发微信这个场景为例进行具体讲解下,用户操作序列如下(括号内为界面发生的变化):
[0116]
(1)、用户点击桌面上的微信图标(进入微信主界面);
[0117]
(2)、用户点击主界面上的放大镜(进入搜索界面);
[0118]
(3)、用户输入“张三”(显示匹配“张三”的联系人);
[0119]
(4)、用户选择其中一个张三(进入与张三的对话界面);
[0120]
(5)、用户输入“你好”(填充到输入框);
[0121]
(6)、用户点击发送(消息完成发送);
[0122]
(7)、用户点击home键返回桌面。
[0123]
其中,用户点击桌面上的微信图标是从桌面进入微信,用户点击home键返回桌面是离开微信。
[0124]
图3为本申请实施例提供的一种终端的系统框架图。如图3所示,终端的系统层可包括:操作记录模块301、操作序列分析模块302以及操作序列存储模块303。其中,操作记录模块301,用于记录用户的操作序列。可选的,操作记录模块301,具体用于记录用户的输入操作,并将用户的各输入操作合并为操作序列。操作序列存储模块303,用于存储用户的操作序列。操作序列分析模块302,用于对操作序列存储模块303中存储的操作序列进行分析,并根据一定规则生成推荐,即按照一定规则向用户推荐某个或某些操作序列。下面结合终端的系统框架图来描述终端向用户操作序列(即快捷操作)的方式。终端可采用如下步骤向用户推荐操作序列:
[0125]
步骤1:终端在系统层获取用户的输入操作(即操作信息),包括:点击坐标,点击的控件信息,输入的文本内容等。操作记录模块301记录系统层获取的用户的输入操作。
[0126]
步骤2:操作记录模块301根据特定规则将用户的输入操作合并为操作序列,存放在操作序列存储模块303中。后续会详述操作记录模块301将用户的输入操作合并为操作序列的方式,即详述该特定规则,这里先不作展开。
[0127]
步骤3:操作序列分析模块302分析用户的操作序列,并根据特定规则向用户推荐快捷操作(即操作序列)。后续会详述操作序列分析模块302分析用户的操作序列,并根据特定规则向用户推荐快捷操作的方式,这里先不作描述。
[0128]
步骤1至步骤3均是终端的系统层执行的,系统层可以获取用户的输入操作,并自动向用户推荐操作序列。系统层可以是指终端的操作系统。可以理解,终端的操作系统包括操作记录模块301、操作序列分析模块302以及操作序列存储模块303,或者,该操作系统可实现操作记录模块301、操作序列分析模块302以及操作序列存储模块303的功能。
[0129]
本申请实施例中,终端可以对用户的输入操作进行分析,自动向用户推荐操作序列,并不需要开发者定义捷径,这样不仅减少了开发者的大量工作,还可以满足不同的用户的需求。
[0130]
图4为本申请实施例提供的一种推荐操作序列的方法流程图,如图4所示,该方法可包括:
[0131]
401、终端获取目标操作序列被执行的次数或频率。
[0132]
该目标操作序列包括至少一种操作,且用于实现目标功能。该目标功能可以是订购咖啡、医院挂号、短网址生成、下载音乐等等。目标操作序列被执行的次数是指该目标操作序列被终端执行的总次数。目标操作序列被执行的频率可以是该目标操作序列被执行的总次数与目标时长的比值,该目标时长为该目标操作序列第一次被执行的时间点至当前时刻的时长。可选的,目标操作序列被执行的频率可以是终端每月或每周执行该目标操作序列的次数。可以理解,终端检测到一次目标操作序列也就是该目标操作序列被该终端执行了一次。可选的,终端通过计数器来统计该目标操作序列被执行的次数。具体的,终端第一次检测到该目标操作序列时将该目标操作序列对应的计数值设置为1,之后每检测到一次该目标操作序列,将该计数值加1。
[0133]
可选的,该目标操作序列包括启动目标应用的操作和/或退出该目标应用的操作。举例来说,目标操作序列包括用户启动目标应用的操作、通过该目标应用中的输入框输入文本的操作、退出该目标应用的操作等一系列操作。可选的,该目标操作序列包括启动第一应用的操作和退出该第二应用的操作。应理解,目标操作序列可以包括用户通过两个或两个以上应用实现目标功能的多个输入操作。举例来说,用户向微信好友发送相册中的图片,该用户需要启动微信并找到某个好友,从相册中选择图片发送给该好友,退出相册,最后退出微信。可见,用户的操作序列包括针对微信的输入操作以及针对相册的输入操作。
[0134]
402、终端在目标操作序列被执行的次数或频率超过目标阈值的情况下,输出推荐信息。
[0135]
该推荐信息用于推荐该目标操作序列对应的目标捷径,该目标捷径用于实现该目标功能。该目标阈值可以是3、4、5、10等,也可以是每周2次、3次、4次、5次等,本申请实施例不作限定。举例来说,终端可记录目标操作序列被执行的次数,若该次数超过目标阈值,则终端输出该目标操作序列对应的推荐信息。又举例来说,终端可记录目标操作序列被执行的频率,若该频率超过目标阈值,则终端输出该目标操作序列对应的推荐信息。
[0136]
在一个可选的实现方式中,终端输出推荐信息可以是该终端的显示屏显示捷径推荐窗口。该捷径推荐窗口包括确认接口和拒绝接口;该确认接口用于接收生成该目标捷径的指令;该拒绝接口,用于接收拒绝生成该目标捷径的指令。当该终端接收到针对该确认接口的选择指令(例如点击操作或触摸操作)之后,生成目标捷径;当该终端接收到针对该拒绝接口的选择指令(例如点击操作或触摸操作)之后,关闭该捷径推荐窗口。图5a为本申请实施例提供的一种推荐界面示意图。如图5a所示,推荐界面中的矩形框为捷径推荐窗口,该
捷径推荐窗口内的信息为推荐信息,该捷径推荐窗口包括确认接口(即图5a中的“是”)和拒绝接口(即图5a中的“否”)。图5b为本申请实施例提供的一种用户确认生成目标捷径的过程示意图。如图5b所示,当用户点击确认接口(即图5a中的“是”)之后,终端生成目标捷径,并将该目标捷径添加至捷径库。在该实现方式中,通过捷径推荐窗口用户可以快速地选择生成目标捷径或者拒绝生成该目标捷径,操作方便。
[0137]
可选的,终端在执行步骤402之后,还可以执行如下操作:在接收到目标指令后,生成该目标捷径;该目标指令用于指示生成该目标捷径。举例来说,当终端检测到捷径推荐窗口中确认接口被点击或触摸时,则认为接收到目标指令,这时生成目标捷径。
[0138]
在该实现方式中,终端接收到目标指令后,可以快速地生成目标捷径,操作简单。
[0139]
本申请实施例中,在目标操作序列被执行的次数或频率超过目标阈值时,输出推荐信息以向用户推荐生成该目标操作序列对应的捷径,可以有针对性的向各用户推荐其所需的捷径,操作简单,可以满足不同用户的需求。
[0140]
在实际应用中,终端在向用户推荐目标操作序列对应的目标捷径之前,必定检测到至少一次目标操作序列。为及时向用户推荐目标操作序列对应的目标捷径,终端还需要及时更新该目标操作序列被执行的次数或频率。
[0141]
下面介绍终端更新目标操作序列被执行的次数或频率的实施例。
[0142]
可选的,终端每检测到一次目标操作序列,更新该目标操作序列被执行的次数或频率。可选的,终端通过计数器来统计该目标操作序列被执行的次数。具体的,终端第一次检测到该目标操作序列时将该目标操作序列对应的计数值设置为1,之后每检测到一次该目标操作序列,将该计数值加1。
[0143]
下面结合附图介绍本申请实施例提供的终端检测和记录用户的操作序列的实现方式。
[0144]
图6为本申请实施例提供的一种检测和记录用户的操作序列的方法流程图。如图6所示,该方法可包括:
[0145]
601、终端检测用户的输入操作。
[0146]
可选的,用户的输入操作记为operation。
[0147]
602、终端判断当前所处状态是否为记录状态。
[0148]
若是,执行603;若否,执行606。可选的,终端可处于记录状态和空状态,该记录状态可记为record,该空间状态可记为null。当前所处状态可记为current_status。终端判断当前所处状态是否为记录状态可以是判断current_status是否为record。若current_status==record,则执行603,即进一步判断输入操作是否为离开应用exit_app;若current_status!=record,则执行606,即进一步判断输入操作是否为打开应用open_app。本申请中,离开应用和退出应用是相同的概念,打开应用、进入应用以及启动应用为相同的概念。该终端可在记录状态和空状态之间切换,当终端处于空状态且检测到启动某个应用的输入操作之后,从该空状态切换到记录状态;当该终端处于记录状态且检测到退出某个应用的输入操作之后,从该记录状态切换到空状态。终端在处于空状态时,不记录用户的输入操作;在处于记录状态时,记录用户的输入操作。可选的,终端的默认状态为空状态,当检测到启动某个应用的输入操作之后,从该空状态切换到记录状态。
[0149]
603、终端判断输入操作是否为离开应用的操作。
[0150]
若是,执行604;若否,执行605。终端判断输入操作是否为离开应用的操作可以是判断operation是否为exit_app。若operation==exit_app,输出当前已记录的操作序列seq={operation1,operation2,
…
},并将所处状态e设为空状态(null);若operation!=exit_app,则记录operation。
[0151]
604、终端输出当前已记录的操作序列,并将当前所处状态设置为空状态。
[0152]
605、终端记录输入操作。
[0153]
606、终端判断输入操作是否为启动应用的操作。
[0154]
若是,执行607;若否,执行608。终端判断输入操作是否为启动应用的操作可以是判断operation是否为open_app。若operation==open_app,则保存应用名称,并将所处状态设置为记录状态;若operation!=open_app,则等待下一次的输入操作。
[0155]
607、终端保存应用名称,并将所处状态设置为记录状态。
[0156]
可选的,终端保存应用名称可以是该终端保存该应用的名称,并记录输入操作。
[0157]
608、终端等待下一次的输入操作。
[0158]
终端执行步骤608可以理解为该终端重新从步骤601开始执行图6的方法流程。从图6可以看出,终端从检测到启动应用的输入操作后,进入记录状态,开始记录用户的输入操作,直到检测到退出应用的输入操作后,输出记录的操作序列,并切换到空状态。
[0159]
本申请实施例中,终端可以准确、快速地记录用户的操作序列。
[0160]
仍然以之前的发微信场景为例,终端通过执行图6中的方法检测并记录用户的操作序列,最终保存的操作序列可以如下:
[0161]
[0162][0163]
其中,上述每组中括号中的代码用于表征用户的一个或多个输入操作。可见,终端通过执行图6中的方法可得到一个操作序列,且该操作序列中的第一个输入操作用于启动应用,最后一个输入操作用于退出应用。
[0164]
图6描述的是检测和记录用户的操作序列的方法流程。每个操作序列(sequence)包含了若干操作(operation),系统层检测到的操作序列存储在前述的操作序列存储模块203中。图7为本申请实施例提供的一种操作序列的存储示意图。如图7所示,操作序列存储模块203中存储有多个操作序列,每个操作序列包括若干操作。其中,操作序列存储模块203中任意两个操作序列包括的操作不完全相同。
[0165]
下面结合附图介绍一种向用户推荐操作序列的具体举例。
[0166]
在一个可选的实现方式中,操作序列存储模块203的每个操作序列(sequence)对应一个计数器(counter),用来统计每个操作序列被用户使用的次数。以上述发微信为例,用户第一次使用时,发微信的操作序列的计数值为1(counter=1),后续如果检测到相同的操作序列,则计数(也称计数值)增加1(counter=counter+1)。当一个用户操作的次数超过一定阈值(即目标阈值),终端判定此操作是用户的常用操作,对应的操作序列可以推荐给用户。目标阈值可以为m,当相同的操作序列被检测到,查看此操作序列的计数,如果此操作序列的counter>m,则向用户推荐此操作序列。其中,m为大于1的整数。图8为本申请实施例提供的一种推荐操作序列的方法流程图。如图8所示,该方法可包括:
[0167]
801、终端将检测到的目标操作序列输入至操作序列分析模块302。
[0168]
可选的,终端将检测到的目标操作序列输入至操作序列分析模块302可以是操作记录模块301将记录的目标操作序列输入至操作序列分析模块302。图8中的方法流程可由操作序列分析模块302实现。
[0169]
802、终端将该目标操作序列对应的计数值加1。
[0170]
可选的,操作序列存储模块203中的每个操作序列(sequence)对应一个计数器,用来统计每个操作序列被用户使用的次数。终端将该目标操作序列对应的计数值加1可以是该终端在数据库(即操作序列存储模块203存储的操作序列)中搜索该目标操作序列;若搜
索到该目标操作序列,则将该目标操作序列对应的计数值加1;若未搜索到该目标操作序列,则将该目标操作序列存储至该数据库,并将该目标操作序列对应的计数值置为1。
[0171]
803、终端判断该目标操作序列对应的计数值是否超过目标阈值。
[0172]
若是,执行804;若否,执行805。可选的,步骤803可以替代为:终端判断该目标操作序列被执行的频率是否超过目标阈值。终端可记录该目标操作序列被执行的总次数以及该目标操作序列第一次被执行的时间点至当前时刻的目标时长。该目标操作序列被执行的频率可以是该目标操作序列被执行的总次数与该目标时长的比值。可选的,目标操作序列被执行的频率可以是终端每周或者每天执行该目标操作序列的次数。可选的,该目标阈值可以是每周3次、4次、5次等;也可以是每天2次、3次、4次等,本申请不作限定。
[0173]
804、终端输出推荐信息。
[0174]
该推荐信息用于推荐该目标操作序列对应的目标捷径,该目标捷径用于实现该目标功能。该目标阈值可以是3、4、5、10等,也可以是每周2次、3次、4次、5次等,本申请实施例不作限定。步骤804的实现可参阅步骤402。
[0175]
805、终端等待下一个输入序列。
[0176]
终端执行步骤805可以理解为该终端重新从步骤801开始执行图8的方法流程。
[0177]
下面通过一个具体举例来进一步说明描述终端如何向用户推荐操作序列。
[0178]
图9为本申请实施例提供的一种终端向用户推荐操作序列的方法交互流程图,如图9所示,该方法可包括:
[0179]
901、用户点击参考图标。
[0180]
该参考图标可以是终端的桌面上的任一图标,该参考图标用于启用参考应用。举例来说,终端为手机,用户使用手指点击该手机的桌面上的参考图标。又举例来说,终端为台式电脑,用户通过鼠标点击显示器上的某个图标。
[0181]
902、系统层记录用户的点击操作。
[0182]
用户点击该参考图标的操作为该用户的一个输入操作。可选的,系统层记录用户的点击操作可以是记录模块301记录用户的点击操作。具体的,系统层记录用户在屏幕上点击的ui控件或坐标。
[0183]
903、系统层启动参考应用。
[0184]
系统层启动参考应用可以是系统层调用onclick方法启动参考应用。用户点击参考图标的操作为一次点击事件onclick,系统层执行onclick事件指定的javascript代码,即调用onclick方法启动参考应用。
[0185]
904、用户输入参考文本。
[0186]
用户输入参考文本可以是该用户通过参考应用的某个输入界面输入该参考文本。举例来说,参考应用为微信,用户通过微信中向某个联系人发送消息的操作可理解为输入文本。
[0187]
905、系统层记录用户输入参考文本的操作。
[0188]
可选的,系统层记录用户输入参考文本的操作可以是记录模块301记录用户输入参考文本的操作。
[0189]
906、系统层将参考文本输入至参考应用。
[0190]
可选的,系统层将参考文本输入至参考应用可以是系统层调用settext方法将参
考文本添加至参考应用。settext是一种将文本数据以某种格式(例如unicodetext)添加到此数据对象的方法。
[0191]
907、系统层合并用户的多种输入操作以得到操作序列。
[0192]
终端执行步骤907的方式可参阅图6。具体的,在系统层检测到退出参考应用的输入操作后,输出当前已记录的输入操作得到操作序列。
[0193]
908、系统层向用户推荐操作序列。
[0194]
本申请实施例中,通过记录和分析用户的日常操作,自动推荐操作序列(快捷操作),不需要app开发者对操作步骤进行特殊定义,不仅可以减少开发者的大量操作,还可以有针对性的根据用户的操作习惯向各用户推荐快捷操作。
[0195]
图10为本申请实施例提供的一种终端的结构示意图。如图10所示,该终端可包括:
[0196]
获取单元1001,用于获取目标操作序列被执行的次数或频率。该目标操作序列包括至少一种操作,且用于实现目标功能。
[0197]
输出单元1002,用于在该目标操作序列被执行的次数或频率超过目标阈值的情况下,输出推荐信息。该推荐信息用于推荐该目标操作序列对应的目标捷径,该目标捷径用于实现该目标功能。
[0198]
获取单元1001的功能和输出单元1002的功能均由操作序列分析模块302实现。可选的,获取单元1001和输出单元1002均包含于操作序列分析模块302。
[0199]
本申请实施例中,在目标操作序列被执行的次数或频率超过目标阈值时,输出推荐信息以向用户推荐生成该目标操作序列对应的捷径,可以有针对性的向各用户推荐其所需的捷径,操作简单,可以满足不同用户的需求。
[0200]
在一个可选的实现方式中,该终端还包括:
[0201]
接收单元1003,用于接收目标指令,该目标指令用于指示生成该目标捷径;
[0202]
生成单元1004,用于生成该目标捷径。
[0203]
可选的,接收单元1003的功能和生成单元1004的功能均由终端的操作系统实现。
[0204]
在该实现方式中,终端接收到目标指令后,可以快速地生成目标捷径,操作简单。
[0205]
在一个可选的实现方式中,该目标操作序列包括启动目标应用的操作和/或退出该目标应用的操作。
[0206]
在该实现方式中,目标操作序列包括实现目标功能需要用户输入的各输入操作,以便于目标操作序列对应的目标捷径可以实现该目标功能。
[0207]
在一个可选的实现方式中,该终端还包括:
[0208]
检测单元1005,用于检测该目标操作序列;
[0209]
更新单元1006,用于更新该目标操作序列被执行的次数或频率。
[0210]
可选的,检测单元1005的功能由操作记录模块301实现;更新单元1006的功能由操作序列存储模块303实现。
[0211]
在该实现方式中,终端可以准确、快速地更新目标操作序列被执行的次数或频率,进而及时向用户推荐相应的捷径。
[0212]
在一个可选的实现方式中,检测单元1005,还用于检测第一输入操作;
[0213]
确定单元1007,用于确定该终端处于记录状态且该第一输入操作为退出目标应用的操作的情况。可选的,确定单元1007的功能由操作记录模块301实现。
[0214]
检测单元1005,还用于输出在该记录状态下记录的操作序列以得到该目标操作序列;该记录状态为该终端记录输入操作的状态。
[0215]
在该实现方式中,在检测到退出目标应用的操作之后,输出在记录状态下记录的各操作,可以准确地得到一个完整的可实现某个功能的操作序列。
[0216]
在一个可选的实现方式中,检测单元1005,还用于检测第二输入操作;该终端还包括:
[0217]
第一记录单元1108,用于在该终端处于该记录状态且该第二输入操作不是退出该目标应用的操作的情况下,记录该第二输入操作。
[0218]
在该实现方式中,终端在记录状态下记录用户的输入操作,可以准确地记录用户的各种输入操作,以便于得到完整的操作序列。
[0219]
在一个可选的实现方式中,检测单元1005,还用于检测第三输入操作;该终端还包括:
[0220]
状态设置单元1009,用于在该终端未处于该记录状态且该第三输入操作为启动该目标应用的操作的情况下,将该终端当前所处状态设置为该记录状态;
[0221]
第二记录单元1010,用于记录该第三输入操作。
[0222]
可选的,第一记录单元1108、状态设置单元1009以及第二记录单元1010的功能均由操作记录模块301实现。第一记录单元1108和第二记录单元1010可以为同一单元。
[0223]
在该实现方式中,终端可以快速地将其当前所处状态设置为记录状态,以便于记录用户的输入操作。
[0224]
应理解以上终端的各个单元的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。例如,以上各个单元可以为单独设立的处理元件,也可以集成同一个芯片中实现,此外,也可以以程序代码的形式存储于控制器的存储元件中,由处理器的某一个处理元件调用并执行以上各个单元的功能。此外各个单元可以集成在一起,也可以独立实现。这里的处理元件可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个单元可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。该处理元件可以是通用处理器,例如中央处理器(英文:central processing unit,简称:cpu),还可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(英文:application-specific integrated circuit,简称:asic),或,一个或多个微处理器(英文:digital signal processor,简称:dsp),或,一个或者多个现场可编程门阵列(英文:field-programmable gate array,简称:fpga)等。
[0225]
请参见图11,图11是本申请实施例提供的另一种终端的结构示意图,该终端包括处理器1101、存储器1102、输入输出设备1103,处理器1101、存储器1002、输入输出设备1103通过总线1104相互连接。
[0226]
存储器1102包括但不限于是随机存储记忆体(random access memory,ram)、只读存储器(read-only memory,rom)、可擦除可编程只读存储器(erasable programmable read only memory,eprom)、或便携式只读存储器(compact disc read-only memory,cd-rom),该存储器1102用于相关指令及数据。本申请实施例中,存储器1102中还可操作序列等等。输入输出设备1103,用于接受用户的输入操作,以及输出推荐信息。
[0227]
处理器1101可以是一个或多个中央处理器(central processing unit,cpu),在处理器1101是一个cpu的情况下,该cpu可以是单核cpu,也可以是多核cpu。
[0228]
该终端中的处理器1101用于读取上述存储器1102中存储的程序代码,执行以下操作:获取目标操作序列被执行的次数或频率,该目标操作序列包括至少一种操作,且用于实现目标功能;在该目标操作序列被执行的次数或频率超过目标阈值的情况下,输出推荐信息;该推荐信息用于推荐该目标操作序列对应的目标捷径,该目标捷径用于实现该目标功能。
[0229]
在图11所描述的终端中,输入输出设备1103还可用于执行图10所示的输出单元1002、接收单元1003以及检测单元1005所执行的操作;处理器1101还可用于执行图10所示的获取单元1001、生成单元1004、更新单元1006、确定单元1007、第一记录单元1108、状态设置单元1009以及第二记录单元1010所执行的操作。可以理解的是,在具体实现中,输入输出设备1103可以是触摸屏。
[0230]
本申请实施例还提供一种计算机可读存储介质,上述计算机可读存储介质中存储有计算机程序,该计算机程序包括程序指令,该程序指令当被移动设备的处理器执行时,使处理器执行图4所示的方法流程。具体地,上述程序指令可被处理器执行,实现:获取目标操作序列被执行的次数或频率,该目标操作序列包括至少一种操作,且用于实现目标功能;在该目标操作序列被执行的次数或频率超过目标阈值的情况下,输出推荐信息;该推荐信息用于推荐该目标操作序列对应的目标捷径,该目标捷径用于实现该目标功能。
[0231]
上述计算机可读存储介质可以是移动设备的内部存储单元,例如硬盘或内存。或者上述计算机可读存储介质也可以是上述移动设备的外部存储设备,例如移动设备上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等等。
[0232]
本申请实施例还提供一种计算机程序产品,当上述计算机程序产品在终端上运行时,使图4所示的方法流程得以实现。
[0233]
下面介绍本申请实施例涉及的终端的一种具体实现方式。该终端配置有触摸屏。例如,上述触摸屏可以配置有自电容式的触控面板,也可以配置有红外线式的触控面板。在一些可能的实施例中,上述触摸屏可用于接收用户的触摸触控操作如第一输入操作、第二输入操作和第三输入操作。这里,上述触摸触控操作是指用户手指(或手部)直接接触屏幕的操作。
[0234]
上述触摸屏还可用于显示系统当前输出的界面内容。上述界面内容可包括正在运行的应用程序的界面以及系统级别菜单等,具体可由下述界面元素组成:输入型界面元素,例如按键(button),文本输入框(text),滑动条(scroll bar),菜单(menu)等等;以及输出型界面元素,例如标签(label)等等。
[0235]
图12是终端的一种实现方式的结构框图。如图12所示,终端110可包括:基带芯片110、存储器115(一个或多个计算机可读存储介质)、射频(rf)模块116、外围系统117。这些部件可在一个或多个通信总线114上通信。
[0236]
外围系统117主要用于实现终端110和用户/外部环境之间的交互功能,主要包括输入输出装置。具体实现中,外围系统117可包括:触摸屏控制器118、摄像头控制器119、音频控制器120以及传感器管理模块121。其中,各个控制器可与各自对应的外围设备(如触摸
屏123、摄像头124、音频电路125以及传感器126)耦合。在一些实施例中,触摸屏123可以配置有自电容式的触控面板的触摸屏,也可以是配置有红外线式的触控面板的触摸屏。在一些实施例中,摄像头124可以是3d摄像头。需要说明的,外围系统117还可以包括其他i/o外设。本申请实施例中,还可以通过触摸屏123显示推荐信息等,以及还可以通过触摸屏123接收用户的输入操作等。
[0237]
基带芯片110可集成包括:一个或多个处理器111、时钟模块112以及电源管理模块113。集成于基带芯片110中的时钟模块112主要用于为处理器111产生数据传输和时序控制所需要的时钟。集成于基带芯片110中的电源管理模块113主要用于为处理器111、射频模块116以及外围系统提供稳定的、高精确度的电压。
[0238]
射频(rf)模块116用于接收和发送射频信号,主要集成了接收器和发射器。射频(rf)模块116通过射频信号与通信网络和其他通信设备通信。具体实现中,射频(rf)模块116可包括但不限于:天线系统、rf收发器、一个或多个放大器、调谐器、一个或多个振荡器、数字信号处理器、codec芯片、sim卡和存储介质等。在一些实施例中,可在单独的芯片上实现射频(rf)模块116。
[0239]
存储器115与处理器111耦合,用于存储各种软件程序和/或多组指令。具体实现中,存储器115可包括高速随机存取的存储器,并且也可包括非易失性存储器,例如一个或多个磁盘存储设备、闪存设备或其他非易失性固态存储设备。存储器115可以存储操作系统(下述简称系统),例如android,ios,windows,或者linux等嵌入式操作系统。存储器115还可以存储网络通信程序,该网络通信程序可用于与一个或多个附加设备,一个或多个终端,一个或多个网络设备进行通信。存储器115还可以存储用户接口程序,该用户接口程序可以通过图形化的操作界面将应用程序的内容形象逼真的显示出来,并通过菜单、对话框以及按键等输入控件接收用户对应用程序的控制操作。本申请实施例中,存储器115中还可以存储操作序列等等。
[0240]
存储器115还可以存储一个或多个应用程序。如图12所示,这些应用程序可包括:社交应用程序(例如facebook),图像管理应用程序(例如相册),地图类应用程序(例如谷歌地图),浏览器(例如safari,google chrome)等等。
[0241]
应当理解,终端110仅为本申请实施例提供的一个例子,并且,终端110可具有比示出的部件更多或更少的部件,可以组合两个或更多个部件,或者可具有部件的不同配置实现。
[0242]
在具体实现中,图12所示的终端还可以用于执行本申请实施例所提供的推荐操作序列的方法,例如该终端可以用于执行如图4所示的方法,以及其他实施例的实现方式,这里不再一一详述。
[0243]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:rom或随机存储记忆体ram、磁碟或者光盘等各种可存储程序代码的介质。
[0244]
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利
要求的保护范围为准。