一种信息获取方法、装置以及计算机可读存储介质与流程

文档序号:22469454发布日期:2020-10-09 21:57阅读:108来源:国知局
一种信息获取方法、装置以及计算机可读存储介质与流程

本发明涉及信息技术领域,尤其涉及一种信息获取方法、装置以及计算机可读存储介质。



背景技术:

现有的一些语音助手可以通过语音来执行相应的操作,例如“在某应用给张三发送消息,内容是xxxxx”,想实现该功能的前提是需要获取到应用中的相应数据(比如通讯录名单数据),传统方法会通过识别语音的拼音模糊查找相应数据,此方式识别正确率不高。



技术实现要素:

本发明实施例提供了一种信息获取方法、装置以及计算机可读存储介质,具有较高正确率地获取指定数据的技术效果。

本发明一方面提供一种信息获取方法,应用于安卓系统,所述安卓系统中包括无障碍服务,所述方法包括:在指定应用的无障碍服务处于开启状态下,利用所述无障碍服务打开所述指定应用界面;利用所述无障碍服务获取所述指定应用界面中的指定控件信息;根据所获取的指定控件信息,获取所述指定控件信息中的指定数据。

在一可实施方式中,所述方法还包括:若所述指定应用的无障碍服务未处于开启状态,则生成引导信息并告知使用对象,以引导所述使用对象开启所述指定应用的无障碍服务。

在一可实施方式中,在利用所述无障碍服务获取所述指定应用中指定控件信息的过程中,所述方法还包括:判断所述指定应用的当前信息界面是否包括所述指定控件;若判定所述当前信息界面未包括所述指定控件,则根据所述当前信息界面信息,将所述当前信息界面切换至至少包含所述指定控件的指定信息界面。

在一可实施方式中,所述根据所述当前信息界面信息,将所述当前信息界面切换至至少包含所述指定控件的指定信息界面,包括:从所述当前信息界面中获取对应于所述指定信息界面的界面切换控件路径信息;利用所述无障碍服务根据所述界面切换控件路径信息驱使所述界面切换控件工作,以将所述当前信息界面切换至所述指定信息界面。

在一可实施方式中,在根据所获取的指定控件信息,获取所述指定控件信息中的指定数据之后,所述方法还包括:利用所述无障碍服务对所述当前指定信息界面进行翻页或者滚动,以更新所述指定信息界面;从所更新后的指定信息界面中继续获取所述指定控件信息中的指定数据。

本发明另一方面提供一种信息获取装置,应用于安卓系统,所述安卓系统中包括无障碍服务,所述装置包括:应用界面开启模块,用于在指定应用的无障碍服务处于开启状态下,利用所述无障碍服务打开所述指定应用界面;控件信息获取模块,用于利用所述无障碍服务获取所述指定应用界面中的指定控件信息;数据获取模块,用于根据所获取的指定控件信息,获取所述指定控件信息中的指定数据。

在一可实施方式中,所述控件信息获取模块在利用所述无障碍服务获取所述指定应用中指定控件信息的过程中,还具体用于:判断所述指定应用的当前信息界面是否包括所述指定控件;若判定所述当前信息界面未包括所述指定控件,则根据所述当前信息界面信息,将所述当前信息界面切换至至少包含所述指定控件的指定信息界面。

在一可实施方式中,所述控件信息获取模块还具体用于:从所述当前信息界面中获取对应于所述指定信息界面的界面切换控件路径信息;利用所述无障碍服务根据所述界面切换控件路径信息驱使所述界面切换控件工作,以将所述当前信息界面切换至所述指定信息界面。

在一可实施方式中,所述装置还包括:界面更新模块,用于经所述数据获取模块获取所述指定控件信息中的指定数据之后,利用所述无障碍服务对所述当前指定信息界面进行翻页或者滚动,以更新所述指定信息界面;从所更新后的指定信息界面中继续获取所述指定控件信息中的指定数据。

本发明另一方面提供一种计算机可读存储介质,所述存储介质包括一组计算机可执行指令,当所述指令被执行时用于执行上述任一项所述的信息获取方法。

在本发明实施例中,相比较通过识别语音中的拼音搜寻指定数据而言,此方法通过无障碍服务定位到指定应用中的指定控件信息,直接从指定控件信息中获取指定数据,具有较高的正确率。

附图说明

通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:

在附图中,相同或对应的标号表示相同或对应的部分。

图1为本发明实施例一种信息获取方法的实现流程示意图;

图2为本发明实施例一种信息获取方法中通讯类应用中通讯录界面示意图;

图3为本发明实施例一种信息获取方法中通讯类应用中主页面界面示意图;

图4为本发明实施例一种信息获取方法中其中一种具体实现流程示意图;

图5为本发明实施例一种信息获取装置的结构组成示意图。

具体实施方式

为使本发明的目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

如图1所示,本发明一方面提供一种信息获取方法,应用于安卓系统,安卓系统中包括无障碍服务,方法包括:

步骤101,在指定应用的无障碍服务处于开启状态下,利用无障碍服务打开指定应用;

步骤102,利用无障碍服务获取指定应用中的指定控件信息;

步骤103,根据所获取的指定控件信息,获取指定控件信息中的指定数据。

本实施例中,无障碍服务是安卓系统中的一个应用程序,它给有残疾的使用对象或暂时无法与设备完全交互的使用对象提供了更好的无障碍使用对象交互功能。无障碍服务包括语音合成、模拟使用对象的操作(比如滑动操作、点击操作)等。

首先令指定应用的无障碍服务处于开启状态下,利用无障碍服务打开指定应用界面,接着再利用无障碍服务获取指定应用界面中的指定控件信息;根据所获取的指定控件信息,获取指定控件信息中的指定数据。以图2说明,图2所呈现的是一款通讯类应用中的通讯录界面,界面中至少包含位于界面底部的“主页面”、“通讯录”、“发现”和“我”控件,以及位于界面中的通讯录名单控件,指定数据为指定控件中的信息,可以为头像数据、文字数据或者其他数据。

由此,相比较通过识别语音中的拼音搜寻指定数据而言,此方法通过无障碍服务定位到指定应用中的指定控件信息,直接从指定控件信息中获取指定数据,具有较高的正确率。

进一步地,步骤101中的指定应用的打开方式可以是通过设定的应用程序自动打开指定应用,具体为在应用程序中创建一个服务a并继承accessibilityservice,再将该服务注册到指定应用的manifest清单文件中并配置相应属性,使用时,可直接通过服务a打开指定应用界面。

在一可实施方式中,方法还包括:

若指定应用的无障碍服务未处于开启状态,则生成引导信息并告知使用对象,以引导使用对象开启指定应用的无障碍服务。

本实施例中,在利用无障碍服务打开指定应用界面之前,需检测指定应用的无障碍服务是否开启,若检测到无障碍服务未处于开启状态,则生成引导信息并告知使用对象,其中引导信息的告知方式可以是以语音指示、图像显示以及文字显示的其中一种或多种的结合。

在一可实施方式中,在利用无障碍服务获取指定应用中指定控件信息的过程中,方法还包括:

判断指定应用的当前信息界面是否包括指定控件;

若判定当前信息界面未包括指定控件,则根据当前信息界面信息,将当前信息界面切换至至少包含指定控件的指定信息界面。

本实施例中,由于在打开指定应用之后所显示的当前信息界面可能并非指定信息界面,结合图3所示,应用在打开之后可能所呈现的是“主页面”界面,在该界面中无法提取指定数据,因此需要判断当前信息界面是否包含指定控件,判断方式可以是截取当前信息界面的图像,通过光学字符识别ocr(opticalcharacterrecognition)技术识别图像中的文字信息,并判断所识别得到的文字信息中是否包含指定控件中的可见文字,其中以图2为例,可见文字具体为控件中的属性值如“新的朋友”、“头像1”、“昵称1”等。若判定所识别得到的文字信息中包含指定控件的可见文字,则判定所述当前信息界面包括指定控件;反之,则判定所述当前信息界面不包括指定控件。判断方式还可以是图像相似度比对,具体为:获取预先保留的并且包含指定控件的界面图像,将该界面图像与当前信息界面图像进行图像相似度对比,若两者的相似值高于指定阈值,则判定当前信息界面包括指定控件,反之,则判定当前信息界面不包括指定控件。

若判定当前信息界面未包括指定控件,则根据当前信息界面信息,将当前信息界面切换至至少包含指定控件的指定信息界面。

在一可实施方式中,根据当前信息界面信息,将当前信息界面切换至指定信息界面,包括:

从当前信息界面中获取对应于指定信息界面的界面切换控件路径信息;

利用无障碍服务根据界面切换控件路径信息驱使界面切换控件工作,以将当前信息界面切换至指定信息界面。

本实施例中,路径信息包括当前信息界面中界面布局层级中的层级位置和控件类名。因此,上述的界面切换步骤具体为:

通过调用无障碍服务中的onaccessibilityevent方法来获取当前信息界面的界面窗体节点信息,再通过元素定位工具如uiautomatorviewer根据界面窗体节点信息查看当前信息界面中的各个ui控件信息(ui,userinterface,用户界面),再根据控件类名匹配或者控件可见文字匹配的方式定位到界面切换控件,进而获取到对应的路径信息,其中,界面切换控件用于执行信息界面切换的功能,具体可以是下拉控件、按钮控件等,以图2为例,图2中界面切换控件具体为“主页面”、“通讯录”、“发现”以及“我”这四个按钮控件。

接着利用无障碍服务中的performaction方法虚拟执行界面切换控件的功能,以将当前信息界面切换至指定信息界面。其中不同界面切换控件对应着不同“执行”操作,例如按钮所对应的“执行”操作为点击,滚动条所对应的“执行”操作为滑动。以图2为例,假定当前信息界面为“主页面”,通过performaction方法虚拟点击“通讯录”按钮,便可将“主页面”切换至通讯录界面。

进一步地,步骤102中指定控件的获取与上述步骤类似:通过元素定位工具uiautomatorviewer查看指定信息界面,根据控件类名或者控件中可见字符查询到指定控件并获取到指定控件在指定信息界面中路径信息,其中,指定控件的数量不限定,可以有多个,以图2为例,指定控件包括“通讯录列表”控件和列表中各个的“联系人”控件。

接着遍历提取指定控件中的指定数据,其中指定数据可以是控件中的属性值、位置数据等,以图2中的获取通讯录名单为例,指定数据则为通讯录名单中的昵称。

在一可实施方式中,在根据所获取的指定控件信息,获取指定控件信息中的指定数据之后,方法还包括:

利用无障碍服务对当前指定信息界面进行翻页或者滚动,以更新指定信息界面;

从所更新后的指定信息界面中继续获取指定控件信息中的指定数据。

本实施例中,在根据所获取的指定控件信息,获取指定控件信息中的指定数据的过程中,可能遇到由于指定控件数据较多,导致指定信息界面中只能显示部分数量的指定控件,此时则通过无障碍服务中所提供的虚拟翻页、下拉或者页面滚动操作,以更新指定信息界面,再利用元素定位工具重新获取指定信息界面中的指定控件,重复上述步骤,直到提取所有的指定数据为止。

以下为一种信息获取方法的其中一种实现方式,以获取应用中联系人名单为例。

结合图2、图3以及图4,首先在执行过程中先判断指定应用的无障碍服务是否开启,若检测到该应用的无障碍服务未开启,则自动跳转至无障碍服务开启页面并引导用户开启无障碍服务。

接着重新判断无障碍服务是否开启,若仍未开启,则继续提示用户开启无障碍服务,若已开启,则利用无障碍服务开启应用,并自动跳转至主界面。

接着通过无障碍服务虚拟点击界面切换控件以跳转至通讯录界面,最后再利用无障碍服务中的虚拟滚动操作以显示全部的联系人名单,与此同时,利用uiautomatorviewer不断查看变化的界面信息,并获取列表中全部联系人名控件中的文本信息,即联系人姓名。

如图5所示,本发明实施例另一方面提供一种信息获取装置,应用于安卓系统,安卓系统中包括无障碍服务,装置包括:

应用界面开启模块201,用于在指定应用的无障碍服务处于开启状态下,利用无障碍服务打开指定应用界面;

控件信息获取模块202,用于利用无障碍服务获取指定应用界面中的指定控件信息;

数据获取模块203,用于根据所获取的指定控件信息,获取指定控件信息中的指定数据。

本实施例中,以图2说明,图2所呈现的是一款通讯类应用中的通讯录界面,界面中至少包含位于界面底部的“主页面”、“通讯录”、“发现”和“我”控件,以及位于界面中的通讯录名单控件,指定数据为指定控件中的信息,可以为头像数据、文字数据或者其他数据。

由此,相比较通过识别语音中的拼音搜寻指定数据而言,此方法通过无障碍服务定位到指定应用中的指定控件信息,直接从指定控件信息中获取指定数据,具有较高的正确率。

进一步地,应用界面开启模块201中的指定应用的打开方式可以是通过设定的应用程序自动打开指定应用,具体为在应用程序中创建一个服务a并继承accessibilityservice,再将该服务注册到指定应用的manifest清单文件中并配置相应属性,使用时,可直接通过服务a打开指定应用界面。

在一可实施方式中,控件信息获取模块202在利用无障碍服务获取指定应用中指定控件信息的过程中,还具体用于:

判断指定应用的当前信息界面是否包括指定控件;

若判定当前信息界面未包括指定控件,则根据当前信息界面信息,将当前信息界面切换至至少包含指定控件的指定信息界面。

本实施例中,在利用无障碍服务打开指定应用界面之前,需通过控件信息获取模块202检测指定应用的无障碍服务是否开启,若检测到无障碍服务未处于开启状态,则生成引导信息并告知使用对象,其中引导信息的告知方式可以是以语音指示、图像显示以及文字显示的其中一种或多种的结合。

在一可实施方式中,控件信息获取模块202还具体用于:

从当前信息界面中获取对应于指定信息界面的界面切换控件路径信息;

利用无障碍服务根据界面切换控件路径信息驱使界面切换控件工作,以将当前信息界面切换至指定信息界面。

本实施例中,路径信息包括当前信息界面中界面布局层级中的层级位置和控件类名。因此,控件信息获取模块202在实行上述的界面切换步骤时,还具体用于:

通过调用无障碍服务中的onaccessibilityevent方法来获取当前信息界面的界面窗体节点信息,再通过元素定位工具如uiautomatorviewer根据界面窗体节点信息查看当前信息界面中的各个ui控件信息(ui,userinterface,用户界面),再根据控件类名匹配或者控件可见文字匹配的方式定位到界面切换控件,进而获取到对应的路径信息,其中,界面切换控件用于执行信息界面切换的功能,具体可以是下拉控件、按钮控件等,以图2为例,图2中界面切换控件具体为“主页面”、“通讯录”、“发现”以及“我”这四个按钮控件。

接着利用无障碍服务中的performaction方法虚拟执行界面切换控件的功能,以将当前信息界面切换至指定信息界面。其中不同界面切换控件对应着不同“执行”操作,例如按钮所对应的“执行”操作为点击,滚动条所对应的“执行”操作为滑动。以图2为例,假定当前信息界面为“主页面”,通过performaction方法虚拟点击“通讯录”按钮,便可将“主页面”切换至通讯录界面。

在一可实施方式中,装置还包括:

界面更新模块204,用于经数据获取模块203获取指定控件信息中的指定数据之后,利用无障碍服务对当前指定信息界面进行翻页或者滚动,以更新指定信息界面;

从所更新后的指定信息界面中继续获取指定控件信息中的指定数据。

本实施例中,在根据所获取的指定控件信息,获取指定控件信息中的指定数据的过程中,可能遇到由于指定控件数据较多,导致指定信息界面中只能显示部分数量的指定控件,此时则界面更新模块204通过无障碍服务中所提供的虚拟翻页、下拉或者页面滚动操作,以更新指定信息界面,再利用元素定位工具重新获取指定信息界面中的指定控件,重复上述步骤,直到提取所有的指定数据为止。

本发明另一方面提供一种计算机可读存储介质,存储介质包括一组计算机可执行指令,当指令被执行时用于执行上述任一项的信息获取方法。

在本发明实施例中计算机可读存储介质包括一组计算机可执行指令,当指令被执行时用于,在指定应用的无障碍服务处于开启状态下,利用无障碍服务打开指定应用;利用无障碍服务获取指定应用中的指定控件信息;根据所获取的指定控件信息,获取指定控件信息中的指定数据。

由此,相比较通过识别语音中的拼音搜寻指定数据而言,此方法通过无障碍服务定位到指定应用中的指定控件信息,直接从指定控件信息中获取指定数据,具有较高的正确率。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。

以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

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