CN108733397B - 更新状态确定方法、设备及存储介质 - Google Patents

更新状态确定方法、设备及存储介质 Download PDF

Info

Publication number
CN108733397B
CN108733397B CN201810520266.7A CN201810520266A CN108733397B CN 108733397 B CN108733397 B CN 108733397B CN 201810520266 A CN201810520266 A CN 201810520266A CN 108733397 B CN108733397 B CN 108733397B
Authority
CN
China
Prior art keywords
application program
configuration information
target control
control
member variable
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.)
Active
Application number
CN201810520266.7A
Other languages
English (en)
Other versions
CN108733397A (zh
Inventor
常群
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Xiaomi Mobile Software Co Ltd
Original Assignee
Beijing Xiaomi Mobile Software Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Xiaomi Mobile Software Co Ltd filed Critical Beijing Xiaomi Mobile Software Co Ltd
Priority to CN201810520266.7A priority Critical patent/CN108733397B/zh
Publication of CN108733397A publication Critical patent/CN108733397A/zh
Application granted granted Critical
Publication of CN108733397B publication Critical patent/CN108733397B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance

Abstract

本公开提供了一种更新状态确定方法、设备及存储介质,涉及计算机程序领域,该方法应用于安装有操作系统和应用程序的终端中,包括:获取应用程序中目标控件的控件类名;从第一配置信息中查询与控件类名对应的特征字段,该特征字段用于指示目标控件中的目标控件元素对应的成员变量;检测应用程序中是否存在与特征字段匹配的应用内容;当应用程序中不存在与特征字段匹配的应用内容时,确定应用程序的更新状态为已更新状态。本公开能够在应用程序进行热修复的场景下,不需要依赖应用程序的版本号也能够准确识别出应用程序的更新状态。

Description

更新状态确定方法、设备及存储介质
技术领域
本公开涉及计算机程序领域,特别涉及一种更新状态确定方法、设备及存储介质。
背景技术
操作系统中安装有一个或多个应用程序。由于应用程序经常会进行更新,操作系统在某些场景下需要确定应用程序的更新状态。
相关技术中,操作系统通过应用程序的版本号确定应用程序的更新状态。操作系统检测应用程序的当前版本号,将应用程序的当前版本号与历史版本号进行比较,若当前版本号大于历史版本号,则认为应用程序的更新状态为已经更新。
发明内容
本公开提供一种更新状态确定方法、设备及存储介质,可以解决相关技术中在某些场景下通过应用程序的版本号无法确定应用程序更新状态的问题。所述技术方案如下:
根据本公开的第一方面,提供了一种更新状态确定方法,所述方法包括:
获取应用程序中目标控件的控件类名;
从第一配置信息中查询与所述控件类名对应的特征字段,所述特征字段用于指示所述目标控件中的目标控件元素对应的成员变量;
检测所述应用程序中是否存在与所述特征字段匹配的应用内容;
当所述应用程序中不存在与所述特征字段匹配的应用内容时,确定所述应用程序的更新状态为已更新状态。
在一个可选的实施例中,所述特征字段包括n级子字段,每级子字段对应各自的字段类型;
所述检测所述应用程序中是否存在与所述特征字段匹配的应用内容,包括:
对于所述n级子字段中的第i级子字段,检测所述应用程序的所述控件类名中是否存在与第i级子字段对应的成员变量,且所述成员变量的类型符合与第i级子字段对应的字段类型,i为初始值为1的正整数;
当不存在所述成员变量或存在所述成员变量但不符合所述字段类型,则确定所述应用程序中不存在与所述特征字段匹配的应用内容。
在一个可选的实施例中,
所述子字段用于指示与所述目标控件中的文本对应的成员变量;
和/或,
所述子字段用于指示与所述目标控件中的图片对应的成员变量。
在一个可选的实施例中,所述获取应用程序中目标控件的控件类名,包括:
接收在所述应用程序上的触发操作,所述触发操作用于选择所述目标控件;
根据所述触发操作获取所述目标控件的控件类名。
在一个可选的实施例中,所述触发操作包括但不限于:长按操作、压力触控操作、双指按压操作、指关节双击操作、悬浮触控操作、多次点击操作中的至少一种。
在一个可选的实施例中,所述方法还包括:
检测所述第一配置信息的最近一次更新时间与当前时间之间的差值,是否大于差值阈值;
当所述差值大于所述差值阈值时,执行所述从第一配置信息中查询与所述控件类名对应的特征字段的步骤。
在一个可选的实施例中,所述确定所述应用程序的更新状态为已更新状态之后,还包括:
向服务器发送第二配置信息的获取请求,所述第二配置信息是用于对所述第一配置信息进行更新的配置信息。
在一个可选的实施例中,所述第二配置信息的获取请求携带有所述应用程序的包名与版本号;所述第二配置信息是与所述应用程序的所述包名、所述版本号对应的配置信息。
根据本公开的第二方面,提供了一种更新状态确定装置,所述装置包括:
获取模块,被配置为获取应用程序中目标控件的控件类名;
查询模块,被配置为从第一配置信息中查询与所述控件类名对应的特征字段,所述特征字段用于指示所述目标控件中的目标控件元素对应的成员变量;
检测模块,被配置为检测所述应用程序中是否存在与所述特征字段匹配的应用内容;
确定模块,被配置为当所述应用程序中不存在与所述特征字段匹配的应用内容时,确定所述应用程序的更新状态为已更新状态。
在一个可选的实施例中,所述特征字段包括n级子字段,每级子字段对应各自的字段类型;
所述检测模块,被配置为对于所述n级子字段中的第i级子字段,检测所述应用程序的所述控件类名中是否存在与第i级子字段对应的成员变量,且所述成员变量的类型符合与第i级子字段对应的字段类型,i为初始值为1的正整数;当不存在所述成员变量或存在所述成员变量但不符合所述字段类型,则确定所述应用程序中不存在与所述特征字段匹配的应用内容。
在一个可选的实施例中,
所述子字段用于指示与所述目标控件中的文本对应的成员变量;
和/或,
所述子字段用于指示与所述目标控件中的图片对应的成员变量。
在一个可选的实施例中,所述装置还包括:
交互模块,被配置为接收在所述应用程序上的触发操作,所述触发操作用于选择所述目标控件;
所述获取模块,被配置为被配置为根据所述触发操作获取所述目标控件的控件类名。
在一个可选的实施例中,所述触发操作包括但不限于:长按操作、压力触控操作、双指按压操作、指关节双击操作、悬浮触控操作、多次点击操作中的至少一种。
在一个可选的实施例中,所述装置还包括:
判断模块,被配置为检测所述第一配置信息的最近一次更新时间与当前时间之间的差值,是否大于差值阈值;当所述差值大于所述差值阈值时,执行所述从第一配置信息中查询与所述控件类名对应的特征字段的步骤。
在一个可选的实施例中,所述装置还包括:
发送模块,被配置为向服务器发送第二配置信息的获取请求,所述第二配置信息是用于对所述第一配置信息进行更新的配置信息。
在一个可选的实施例中,所述第二配置信息的获取请求携带有所述应用程序的包名与版本号,所述第二配置信息是与所述应用程序的所述包名、所述版本号对应的配置信息。
根据本公开的第三方面,提供了一种移动终端,所述移动终端包括:
处理器和存储器;
所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如上第一方面所述的更新状态确定方法。
根据本公开的第四方面,提供了一种计算机可读存储介质,所述可读存储介质中存储有至少一条指令,所述至少一条指令被处理器加载并执行时如上第二方面所述的更新状态确定方法。
本公开实施例能够实现的有益效果至少包括:
由于第一配置信息中的特征字段是应用程序的历史版本中存在的字段,当应用程序中不存在与特征字段匹配的应用内容时,确定应用程序的更新状态为已更新状态,实现了根据应用程序的实质内容对应用程序的更新状态进行确定,不依赖应用程序的版本号对应用程序的更新状态进行确定,即便应用程序的版本号不变的场景下(比如热修复场景),也可以准确确定出应用程序的更新状态。
附图说明
为了更清楚地说明本公开实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是一个示例性实施例提供的信息显示方法的流程图;
图2是一个示例性实施例提供的信息显示方法实现时的界面示意图;
图3是本公开一个示例性实施例提供的更新状态确定方法的流程图;
图4是本公开另一个示例性实施例提供的更新状态确定方法的流程图;
图5是本公开一个示例性实施例提供的更新状态确定装置的框图;
图6是本公开另一个示例性实施例提供的更新状态确定装置的框图。
具体实施方式
为使本公开的目的、技术方案和优点更加清楚,下面将结合附图对本公开实施方式作进一步地详细描述。
操作系统在某些场景下需要确定应用程序的更新状态,该更新状态也可以认为是实际的版本信息。例如,操作系统提供有一种快捷搜索功能,该快捷搜索功能简称为传送门功能,该快捷搜索功能用于在应用程序中的文本内容被长按时,由操作系统在屏幕底部叠加显示与该文本内容相关的搜索结果信息。
为了能够更好的理解本公开的技术方案,下面将对相关技术中的快速搜索功能做出进一步的说明,参考图1。
图1是一个示例性实施例提供的信息显示方法的流程图。本实施例以该信息显示方法应用于终端中来举例说明,该终端中安装有操作系统和至少一个应用程序。该方法包括:
在步骤101中,显示应用程序的用户界面,用户界面中包括至少一个UI控件;
终端中安装的应用程序包括:操作系统提供的原生应用程序,和/或,用户自行安装的第三方应用程序。在本实施例中,应用程序是指操作系统中安装的任意应用程序或属于预设名单列表的应用程序,该预设名单列表存储有符合抓取条件的上下文信息和/或不符合抓取条件的上下文信息。
对于一个应用程序,通常包括有多个用户界面。在终端中位于前台运行的应用程序的用户界面,会优先显示在终端的显示屏中。
用户界面上包括至少一个UI控件,每个UI控件均为用户界面上的一个组成部分,或者说,每个UI控件可以认为是一个UI控件。UI控件包括但不限于:文本控件、文本编辑控件、图像控件、对话框控件、按钮控件中的至少一种。
在步骤102中,接收在用户界面上的选择操作;
选择操作包括但不限于:长按操作、压力触控操作、多次点击操作、悬浮触控操作、双指触控操作和指关节双击操作中的至少一种。本公开实施例以该选择操作是长按操作来举例说明。
其中,长按操作是按压触摸屏的时长超过第一时长的操作;压力触控操作是按压压力超过预设压力值的操作;多次点击操作是在预定时长内点击次数超过预定次数的操作;悬浮触控操作是悬浮在触摸屏上方的时长超过第二时长的操作;双指触控操作是用户使用双指同时点击触摸屏的操作;指关节双击操作是用户使用指关节敲击触摸屏的操作。
在步骤103中,根据选择操作选择至少一个UI控件中的目标UI控件。
目标UI控件是至少一个UI控件中的一个目标UI控件(不排除是两个或更多的可能性),目标UI控件中通常包括文本和/或图片。目标UI控件中具有内容信息,当目标UI控件中包括的是文本时,内容信息是字符;当目标UI控件中包括的是图片时,内容信息是图片数据或图片中的文字。
在步骤104中,通过操作系统在用户界面的局部区域上叠加显示搜索结果信息,搜索结果信息是与目标UI控件对应的搜索结果信息。
操作系统会提取目标UI控件中的内容信息,并根据内容信息在本地或网络上搜索得到搜索结果信息。
终端通过操作系统在用户界面的局部区域上叠加显示搜索结果信息,该搜索结果信息为n个,存在至少两个搜索结果信息是不同的,n为正整数。可选地,n≥2。
可选地,搜索结果信息包括:人名信息、地名信息、百科介绍信息、导航信息、行程信息、用户评论信息、购物信息和网站信息中的至少一种。
可选地,搜索结果信息来自至少两个不同的网站。
可选地,局部区域是底部区域、顶部区域、左边框区域、右边框区域、目标UI控件的相邻区域,选择操作的操作坐标的相邻区域中的任一区域。局部区域是显示屏的整个显示区域中的一部分,通常是整个显示区域中未遮盖住目标UI控件的区域。可选地,若显示屏包括主屏和副屏,则局部区域是副屏所在的区域。
示意性的,当局部区域为显示屏的底部区域时,可尽量减小局部区域对用户界面的遮盖,特别是对目标UI控件的遮盖。同时相比于局部区域是顶部区域的方案,将搜索结果信息显示在底部区域,还能避免用户将搜索结果信息与在显示屏的顶部区域中惯常显示的通知消息互相混淆。
当局部区域为目标UI控件相邻的区域时,便于用户将搜索结果信息与目标UI控件中进行匹配阅览,不需要用户来回切换视觉焦点。
当局部区域为选择操作位置相邻的区域时,便于用户对搜索结果信息进行下一步操作,比如在选择操作之后,能够就近采用滑动操作对不同搜索结果信息间进行滑动切换。
以局部区域为底部区域为例,结合图2可知,用户界面21中存在用户感兴趣的目标UI控件22,该目标UI控件22中包括文本或图片,当用户长按该目标UI控件22时,终端在底部区域显示n个搜索结果信息23,底部区域是与显示区域的底边相邻的区域。由于搜索结果信息23可以为多个,受限于显示区域的大小,终端可以仅显示出一部分搜索结果信息23,比如,仅显示出搜索结果信息1和搜索结果信息2。
可选地,上述n个搜索结果信息是来自于服务器对至少两个不同的网站的数据进行搜索后的搜索结果信息,从而由操作系统将不同网站之间的优质内容串联呈现在应用程序的局部区域中,搜索结果信息包括:文本介绍信息、本地应用程序入口、网络服务入口中的至少一种。示意性的:
当目标UI控件中的内容信息包括影视作品名称时,搜索结果信息包括但不限于:影视作品的介绍信息、影视作品的评分信息、影视作品的作者信息、影视作品在本地应用程序或网络服务中的订阅入口、影视作品在本地应用程序或网络服务中的分享入口、影视作品在本地应用程序中的收藏入口、影视作品在网络服务上的购票入口中的至少一种;
当目标UI控件中的内容信息包括文学作品名称时,搜索结果信息包括但不限于:文学作品的介绍信息、文学作品的评分信息、文学作品的作者信息、文学作品在本地应用程序中的订阅入口、文学作品在本地应用程序中的分享入口、文学作品在本地应用程序中的收藏入口、文学作品在网络服务上的体验阅读入口、文学作品在网络服务上的购买入口中的至少一种。
当目标UI控件中的内容信息包括人物信息时,搜索结果信息包括但不限于:该人物的百科介绍信息、该人物在网络服务上的社交网络服务主页、该人物在网络服务上的最新新闻动态、该人物在网络服务上的动态订阅入口、该人物在本地应用程序或网络服务上的分享入口、该人物在本地应用程序或网络服务上的收藏入口中的至少一种。
当目标UI控件中的内容信息包括地点信息时,搜索结果信息包括但不限于:该地点的介绍信息、该地点在本地应用程序或网络服务上的导航信息、该地点在本地应用程序或网络服务上的地图预览信息、以该地点为目的地的打车入口、该地点在本地应用程序或网络服务上的分享入口、该地点在本地应用程序或网络服务上的收藏入口中的至少一种。
当目标UI控件中的内容信息包括商家信息时,搜索结果信息包括但不限于:该商家的介绍信息、该商家在网络服务上的社交网络服务主页、该商家在网络服务上的最新新闻动态、该商家在网络服务上的优惠订阅入口、该商家的联系方式信息、该商家在本地应用程序或网络服务上的导航信息、该商家在本地应用程序或网络服务上的地图预览信息、以该商家为目的地的打车入口、该商家在本地应用程序或网络服务上的分享入口、该商家在本地应用程序或网络服务上的收藏入口中的至少一种。
当目标UI控件中的内容信息包括商品信息时,搜索结果信息包括但不限于:该商品的介绍信息、该商品在网络服务上的购买入口、该商品在至少一个购物渠道的价格信息、该商品在网络服务上的优惠订阅入口、该商品在网络服务上的降价提醒入口、该商品在本地应用程序或网络服务上的历史价格趋势查看入口、该商品在本地应用程序或网络服务上的分享入口、该商品在本地应用程序或网络服务上的收藏入口中的至少一种。
在快捷搜索功能(传送门功能)的实现过程中,操作系统需要准确的抓取应用程序上被触发的目标UI控件(也称UI控件)中的内容信息。可选地,操作系统中存储有第一配置信息,该第一配置信息包括对应用程序中的目标UI控件进行提取时的提取规则,当目标UI控件被长按触发后,操作系统可根据该提取规则对目标UI控件内的内容信息进行提取。
但是应用程序会不断地更新,更新后的应用程序很有可能无法使用第一配置信息中的提取规则,所以操作系统需要获知应用程序的更新状态。相关技术中,操作系统可以根据应用程序的版本号来获知应用程序的更新状态。但是如果应用程序使用热修复技术对内部的一小部分功能模块进行更新,则应用程序可以保持版本号不变的前提下,对应用程序内的功能模块进行更新,此时操作系统无法根据应用程序的版本号来获知应用程序的更新状态。因此,本公开提供了一种更新状态确定方法、装置及存储介质,使操作系统能够不依赖于版本号信息,也能够准确地确定应用程序的更新状态。
图3是本公开一个示例性实施例提供的更新状态确定方法的流程图。该方法可以应用于安装有操作系统和应用程序的终端中。可选地,下述实施例是在安卓(Android)系统的运行环境下实现的。该方法包括以下步骤:
在步骤301中,获取应用程序中目标控件的控件类名;
终端中安装的应用程序包括:操作系统提供的原生应用程序,和/或,用户自行安装的第三方应用程序。在本实施例中,应用程序是指操作系统中安装的任意应用程序。
对于一个应用程序,通常包括有多个控件。当位于前台运行的应用程序中的某个控件被触发时(比如被长按时),将被触发的控件确定为目标控件。上述应用程序中的目标控件可以是系统控件和/或自定义控件。
操作系统通过java反射机制获取应用程序中目标控件的控件类名。
可选地,操作系统通过findViewByid获取应用程序中目标控件的控件类名。可选地,操作系统通过注解获取应用程序中目标控件的控件类名。
在步骤302中,从第一配置信息中查询与控件类名对应的特征字段,特征字段用于指示目标控件中的目标控件元素对应的成员变量。
第一配置信息是指操作系统中当前存储的配置信息,第一配置信息存储有应用程序中至少一个控件的提取规则。可选地,第一配置信息中存储有应用程序中目标控件的提取规则。通常,第一配置信息与应用程序的某一个版本号对应,不同版本号对应的配置信息可以是不同的。第一配置信息可以是操作系统最近一次从服务器中下载的配置信息。
操作系统在第一配置信息中调取所有与目标控件类名对应的特征字段。特征字段格式如下:
Viewclassname:MemberPath:MemberTypePath。
其中,Viewclassname表示应用视图控件类名;
MemberPath表示作为特殊字段的该视图控件的子字段,子字段可以由多层级的子字段构成;
MemberTypePath表示MemberPath中子字段的类型。
在步骤303中,检测应用程序中是否存在与特征字段匹配的应用内容。
对于任意一个特征字段,特征字段包括n级子字段,每级子字段对应各自的字段类型。不同的特征字段所包括的子字段个数可以不同。
对于n级子字段中的第i级子字段,检测应用程序的控件类名中是否存在与第i级子字段对应的成员变量,且成员变量的类型符合与第i级子字段对应的字段类型,i为初始值为1的正整数;当不存在成员变量或存在成员变量但不符合字段类型,则确定应用程序中不存在与特征字段匹配的应用内容。
例如,获取到的目标控件的特征字段如下:
com.xiaomi.test.plugin.mytextview:mSetting/ybn:com.xiomi.MySetting/String,上述特征字段表示目标控件的控件类名为com.xiaomi.test.plugin.mytextview,该控件类中存在名为mSetting的成员变量,且mSetting的类型为com.xiomi.MySetting;其次,mSetting中存在名为ybn的成员变量,且ybn的类型为String。
在对应的应用程序中检测是否存在类型为com.xiomi.MySetting的成员变量,且该成员变量的类型为String。若存在,应用程序中存在与特征字段匹配的应用内容;若不存在,应用程序中不存在与特征字段匹配的应用内容。
在步骤304中,当所述应用程序中不存在与特征字段匹配的应用内容时,确定应用程序的更新状态为已更新状态。
当应用程序中不存在与特征字段匹配的应用内容时,则确定应用程序进行了热修复或其他形式的版本更新。此时应用程序的版本号可以不变,但程序内程序代码发生了改变,所以无法使用第一配置信息进行提取,此时可以确定应用程序的更新状态为已更新状态。
综上所述,本公开提供的更新状态确定方法,由于第一配置信息中的特征字段是应用程序的历史版本中存在的字段,当应用程序中不存在与特征字段匹配的应用内容时,确定应用程序的更新状态为已更新状态,实现了根据应用程序的实质内容对应用程序的更新状态进行确定,不依赖应用程序的版本号对应用程序的更新状态进行确定,即便应用程序的版本号不变的场景下(比如热修复场景),也可以准确确定出应用程序的更新状态。
图4是本公开的一个示例性实施例提供的更新状态确定方法的流程图。该方法应用于安装有操作系统和应用程序的终端中。可选地,下述实施例是在安卓(Android)系统的运行环境下实现的。该方法包括以下步骤:
在步骤401中,终端接收在应用程序上的触发操作。
用户在用户界面上发现感兴趣的内容,并对该内容施加触发操作。该触发操作包括但不限于:长按操作、压力触控操作、多次点击操作、悬浮触控操作、双指触控操作、指关节双击操作中的至少一种。
其中,长按操作是按压触摸屏的时长超过第一时长的操作;压力触控操作是按压压力超过预设压力值的操作;多次点击操作是在预定时长内点击次数超过预定次数的操作;悬浮触控操作是悬浮在触摸屏上方的时长超过第二时长的操作;双指触控操作是用户使用双指同时点击或长按触摸屏的操作;指关节双击操作是用户使用指关节敲击触摸屏的操作。
可选地,该触发操作用于选择应用程序上的目标控件。
在步骤402中,操作系统检测第一配置信息的最近一次更新时间与当前时间之间的差值是否大于差值阈值。
操作系统调取第一配置信息的最近一次更新时间,并计算与当前时间之间的差值,检测该差值是否大于预设的差值阈值。
若该差值大于预设的差值阈值,进入步骤403;
若该差值小于预设的差值阈值,进入步骤407。
在步骤403中,操作系统根据触发操作获取应用程序中目标控件的控件类名。
终端中安装的应用程序包括:操作系统提供的原生应用程序,和/或,用户自行安装的第三方应用程序。在本实施例中,应用程序是指操作系统中安装的任意应用程序。
对于一个应用程序包括有多个控件。当位于前台运行的应用程序中的某个控件被触发时(比如被长按时),将被触发的控件确定为目标控件。也即,目标控件是应用程序上被触发操作所触发的控件。目标控件可以是系统控件和/或自定义控件。
操作系统通过java反射机制获取应用程序中目标控件的控件类名。
可选地,操作系统通过findViewByid获取应用程序中目标控件的控件类名。
可选地,操作系统通过注解获取应用程序中目标控件的控件类名。
在步骤405中,操作系统从第一配置信息中查询与控件类名对应的特征字段。
第一配置信息是指当前应用程序对应的配置信息。操作系统在第一配置信息中调取所有与目标控件类名对应的特征字段。在一个示意性的例子中,特征字段格式如下:
Viewclassname:MemberPath:MemberTypePath。
其中,Viewclassname表示应用视图控件类名;
MemberPath表示作为特殊字段的该视图控件的子字段,子字段可以由多层级的子字段构成,不同层级的子字段可以通过分号隔开;
MemberTypePath表示MemberPath中子字段的类型。
在步骤406中,操作系统检测应用程序中是否存在与特征字段匹配的应用内容。
对于任意一个特征字段,特征字段包括n级子字段,每级子字段对应各自的字段类型。不同的特征字段所包括的子字段个数可以不同,或者说,存在两个特征字段各自所包括的子字段个数是不同的。可选地,子字段用于指示与目标控件中的文本对应的成员变量,和/或,子字段用于指示与目标控件中的图片对应的成员变量。
对于n级子字段中的第i级子字段,检测应用程序的控件类名中是否存在与第i级子字段对应的成员变量,且所述成员变量的类型符合与第i级子字段对应的字段类型,i为初始值为1的正整数;当不存在成员变量或存在成员变量但不符合字段类型时,确定应用程序中不存在与特征字段匹配的应用内容。
例如,获取到的目标控件的特征字段如下:
com.xiaomi.test.plugin.mytextview:mSetting/ybn:com.xiomi.MySetting/String,上述特征字段表示目标控件的控件类名为com.xiaomi.test.plugin.mytextview,该控件类中存在名为mSetting的成员变量,且mSetting的类型为com.xiomi.MySetting,也即mSetting是第一层级的子字段;其次,mSetting中存在名为ybn的成员变量,且ybn的类型为String,也即ybn是第二层级的子字段。
在对应的应用程序中检测是否存在MySetting对应的成员变量且类型为com.xiomi.MySetting;若存在,则继续检测是否存在ybn对应的成员变量且类型为String。若存在,应用程序中存在与特征字段匹配的应用内容;若不存在,应用程序中不存在与特征字段匹配的应用内容。
若应用程序中存在与特征字段匹配的应用内容,进入步骤411;
若应用程序中不存在与特征字段匹配的应用内容,进入步骤407。
在步骤407中,操作系统确认应用程序的更新状态为已更新。
当应用程序中不存在与特征字段匹配的应用内容时,则确定应用程序进行了热修复或其他形式的版本更新。此时应用程序的版本号可以不变,但程序内程序代码发生了改变,所以无法使用第一配置信息进行提取,此时可以确定应用程序的更新状态为已更新状态。
在步骤408中,操作系统向服务器发送第二配置信息的获取请求。
在确定应用程序为已更新状态后,操作系统通过有线网络或无线网络向服务器发送第二配置信息的获取请求,该获取请求携带有应用程序的包名以及版本号。应用程序的包名可认为是应用程序的唯一标识。可选地,版本号包括VersionName和VersionNumber,VersionName是大版本号,VersionNumber是子版本号。
可选地,第二配置信息是用于更新第一配置信息的配置信息。该第二配置信息包括应用程序中至少一个控件(包括目标控件)的提取规则。该提取规则包括:控件类名、特征字段、特征字段中子字段的类型三者之间的对应关系。
服务器根据应用程序的包名和版本号,查询最新的第二配置信息进行反馈。
在步骤409中,终端接收服务器反馈的信息。
操作系统通过有线网络或无线网络接收服务器的反馈信息。
可选地,若服务器中存在与应用程序的包名以及版本号对应的第二配置信息,则服务器向终端下发第二配置信息,进入步骤410;若服务器中不存在与应用程序的包名以及版本号对应的第二配置信息,则服务器的反馈信息中携带有第二配置信息不存在的标识信息,进入步骤409。
在步骤410中,操作系统将第二配置信息更新到系统服务中。
在步骤411中,操作系统抓取目标控件中的内容信息。
当操作系统更新得到第二配置信息时,操作系统根据第二配置信息中与控件类名对应的提取规则,抓取应用程序的目标控件中的目标内容信息。
或者,当操作系统使用第一配置信息监测到应用程序中存在与特征字段匹配的应用内容时,操作系统根据第一配置信息中与控件类名对应的提取规则,抓取应用程序的目标控件中的目标内容信息。
在步骤412中,终端向服务器发送搜索请求。
终端通过有线网络或无线网络向服务器发送搜索请求,该搜索请求携带有目标控件中的内容信息。
服务器对内容信息或内容信息中的关键词进行搜索,得到至少一个搜索结果。
在步骤413中,终端接收搜索结果。
可选地,搜索结果包括:人名信息、地名信息、百科介绍信息、导航信息、行程信息、用户评论信息、购物信息和网站信息中的至少一种。
可选地,搜索结果来自至少两个不同的网站。
在步骤414中,终端显示搜索结果。
终端通过图1所示的方法显示搜索结果。
在步骤415中,终止流程。
综上所述,本公开提供的更新状态确定方法,由于第一配置信息中的特征字段是应用程序的历史版本中存在的字段,当应用程序中不存在与特征字段匹配的应用内容时,确定应用程序的更新状态为已更新状态,实现了根据应用程序的实质内容对应用程序的更新状态进行确定,不依赖应用程序的版本号对应用程序的更新状态进行确定,即便应用程序的版本号不变的场景下(比如热修复场景),也可以准确确定出应用程序的更新状态。
图5是本公开的一个示例性实施例提供的更新状态确定装置的框图。该配件装配装置可以通过软件、硬件或者两者的结合实现成为电子设备的全部或一部分。该装置包括:
获取模块501,被配置为获取应用程序中目标控件的控件类名;
查询模块502,被配置为从第一配置信息中查询与所述控件类名对应的特征字段,所述特征字段用于指示所述目标控件中的目标控件元素对应的成员变量;
检测模块503,被配置为检测所述应用程序中是否存在与所述特征字段匹配的应用内容;
确定模块504,被配置为当所述应用程序中不存在与所述特征字段匹配的应用内容时,确定所述应用程序的更新状态为已更新状态。
在一个可选的实施例中,所述特征字段包括n级子字段,每级子字段对应各自的字段类型;
所述检测模块503,被配置为对于所述n级子字段中的第i级子字段,检测所述应用程序的所述控件类名中是否存在与第i级子字段对应的成员变量,且所述成员变量的类型符合与第i级子字段对应的字段类型,i为初始值为1的正整数;当不存在所述成员变量或存在所述成员变量但不符合所述字段类型,则确定所述应用程序中不存在与所述特征字段匹配的应用内容。
在一个可选的实施例中,
所述子字段用于指示与所述目标控件中的文本对应的成员变量;
和/或,
所述子字段用于指示与所述目标控件中的图片对应的成员变量。
在一个可选的实施例中,所述装置还包括:
交互模块,被配置为接收在所述应用程序上的触发操作,所述触发操作用于选择所述目标控件;
所述获取模块501,被配置为被配置为根据所述触发操作获取所述目标控件的控件类名。
在一个可选的实施例中,所述触发操作包括但不限于:长按操作、压力触控操作、双指按压操作、指关节双击操作、悬浮触控操作、多次点击操作中的至少一种。
在一个可选的实施例中,所述装置还包括:
判断模块,被配置为检测所述第一配置信息的最近一次更新时间与当前时间之间的差值,是否大于差值阈值;当所述差值大于所述差值阈值时,执行所述从第一配置信息中查询与所述控件类名对应的特征字段的步骤。
在一个可选的实施例中,所述装置还包括:
发送模块,被配置为向服务器发送第二配置信息的获取请求,所述第二配置信息是用于对所述第一配置信息进行更新的配置信息。
在一个可选的实施例中,所述第二配置信息的获取请求携带有所述应用程序的包名与版本号,所述第二配置信息是与所述应用程序的所述包名、所述版本号对应的配置信息。
综上所述,本公开提供的更新状态确定装置,通过获取应用程序中目标控件的控件类名,之后从第一配置信息中查询控件类名对应的特征字段,最终检测到应用程序中不存在与特征字段匹配的应用内容,从而确定所述应用程序的更新状态为已更新状态。该方法能够在应用程序运行状态下对配置信息进行及时的更新。且该方法在应用程序的版本号不变更的情况下,能够检测到配置信息不匹配,确定应用程序已更新的状态,及时对配置信息进行更新,保证了传送门功能的实现概率,提升了用户体验。
图6是根据一示例性实施例示出的一种更新状态确定装置的框图。例如,装置600可以是智能手机、平板电脑、电子书阅读器、膝上型便携计算机和台式计算机等等。
参照图6,装置600可以包括以下一个或多个组件:处理组件602,存储器604,电源组件606,多媒体组件608,音频组件610,输入/输出(I/O)接口612,传感器组件614,以及通信组件616。
处理组件602通常控制装置600的整体操作,诸如与显示,数据通信和记录操作相关联的操作。处理组件602可以包括一个或多个处理器618来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件602可以包括一个或多个模块,便于处理组件602和其他组件之间的交互。例如,处理组件602可以包括多媒体模块,以方便多媒体组件608和处理组件602之间的交互。
存储器604被配置为存储各种类型的数据以支持在装置600的操作。这些数据的示例包括用于在装置600上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器604可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件606为装置600的各种组件提供电力。电源组件606可以包括电源管理系统,一个或多个电源,及其他与为装置600生成、管理和分配电力相关联的组件。
多媒体组件608包括在装置600和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件608包括一个前置摄像头和/或后置摄像头。当装置600处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件610被配置为输出和/或输入音频信号。例如,音频组件610包括一个麦克风(MIC),当装置600处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器604或经由通信组件616发送。在一些实施例中,音频组件610还包括一个扬声器,用于输出音频信号。
I/O接口612为处理组件602和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件614包括一个或多个传感器,用于为装置600提供各个方面的状态评估。例如,传感器组件614可以检测到装置600的打开/关闭状态,组件的相对定位,例如组件为装置600的显示器和小键盘,传感器组件614还可以检测装置600或装置600一个组件的位置改变,用户与装置600接触的存在或不存在,装置600方位或加速/减速和装置600的温度变化。传感器组件614可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件614还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件614还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件616被配置为便于装置600和其他设备之间有线或无线方式的通信。装置600可以接入基于通信标准的无线网络,如Wi-Fi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件616经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件616还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置600可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述更新状态确定方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器604,上述指令可由装置600的处理器618执行以完成上述更新状态确定方法。例如,非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本申请还提供一种计算机可读存储介质,所述可读存储介质中存储至少一条指令、一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述方法实施例提供的更新状态确定方法。
本申请还提供了一种计算机程序产品,当其在电子设备上运行时,使得电子设备执行上述各方法实施例所述的更新状态确定方法。
本领域的技术人员可以通过理解上述实施例的步骤并通过硬件设备的使用来实现翻译信息显示方法。本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (16)

1.一种更新状态确定方法,其特征在于,所述方法包括:
获取应用程序中目标控件的控件类名;
从第一配置信息中查询与所述控件类名对应的特征字段,所述特征字段用于指示所述目标控件中的目标控件元素对应的成员变量,所述特征字段包括n级子字段,每级子字段对应各自的字段类型;
对于所述n级子字段中的第i级子字段,检测所述应用程序的所述控件类名中是否存在与第i级子字段对应的成员变量,且所述成员变量的类型符合与第i级子字段对应的字段类型,n为正整数,i为初始值为1的正整数;
当不存在所述成员变量或存在所述成员变量但不符合所述字段类型,则确定所述应用程序中不存在与所述特征字段匹配的应用内容;
当所述应用程序中不存在与所述特征字段匹配的应用内容时,确定所述应用程序的更新状态为已更新状态。
2.根据权利要求1所述的方法,其特征在于,
所述子字段用于指示与所述目标控件中的文本对应的成员变量;
和/或,
所述子字段用于指示与所述目标控件中的图片对应的成员变量。
3.根据权利要求1至2任一所述的方法,其特征在于,所述获取应用程序中目标控件的控件类名,包括:
接收在所述应用程序上的触发操作,所述触发操作用于选择所述目标控件;
根据所述触发操作获取所述目标控件的控件类名。
4.根据权利要求3所述的方法,其特征在于,所述触发操作包括但不限于:长按操作、压力触控操作、双指按压操作、指关节双击操作、悬浮触控操作、多次点击操作中的至少一种。
5.根据权利要求1至2任一所述的方法,其特征在于,所述方法还包括:
检测所述第一配置信息的最近一次更新时间与当前时间之间的差值,是否大于差值阈值;
当所述差值大于所述差值阈值时,执行所述从第一配置信息中查询与所述控件类名对应的特征字段的步骤。
6.根据权利要求1所述的方法,其特征在于,所述确定所述应用程序的更新状态为已更新状态之后,还包括:
向服务器发送第二配置信息的获取请求,所述第二配置信息是用于对所述第一配置信息进行更新的配置信息。
7.根据权利要求6所述的方法,其特征在于,所述第二配置信息的获取请求携带有所述应用程序的包名与版本号;所述第二配置信息是与所述应用程序的所述包名、所述版本号对应的配置信息。
8.一种更新状态确定装置,其特征在于,所述装置包括:
获取模块,被配置为获取应用程序中目标控件的控件类名;
查询模块,被配置为从第一配置信息中查询与所述控件类名对应的特征字段,所述特征字段用于指示所述目标控件中的目标控件元素对应的成员变量,所述特征字段包括n级子字段,每级子字段对应各自的字段类型;
检测模块,被配置为对于所述n级子字段中的第i级子字段,检测所述应用程序的所述控件类名中是否存在与第i级子字段对应的成员变量,且所述成员变量的类型符合与第i级子字段对应的字段类型,n为正整数,i为初始值为1的正整数;当不存在所述成员变量或存在所述成员变量但不符合所述字段类型,则确定所述应用程序中不存在与所述特征字段匹配的应用内容;
确定模块,被配置为当所述应用程序中不存在与所述特征字段匹配的应用内容时,确定所述应用程序的更新状态为已更新状态。
9.根据权利要求8所述的装置,其特征在于,
所述子字段用于指示与所述目标控件中的文本对应的成员变量;
和/或,
所述子字段用于指示与所述目标控件中的图片对应的成员变量。
10.根据权利要求8至9任一所述的装置,其特征在于,所述装置还包括:
交互模块,被配置为接收在所述应用程序上的触发操作,所述触发操作用于选择所述目标控件;
所述获取模块,被配置为被配置为根据所述触发操作获取所述目标控件的控件类名。
11.根据权利要求10所述的装置,其特征在于,所述触发操作包括但不限于:长按操作、压力触控操作、双指按压操作、指关节双击操作、悬浮触控操作、多次点击操作中的至少一种。
12.根据权利要求8至10任一所述的装置,其特征在于,所述装置还包括:
判断模块,被配置为检测所述第一配置信息的最近一次更新时间与当前时间之间的差值,是否大于差值阈值;当所述差值大于所述差值阈值时,执行所述从第一配置信息中查询与所述控件类名对应的特征字段的步骤。
13.根据权利要求8所述的装置,其特征在于,所述装置还包括:
发送模块,被配置为向服务器发送第二配置信息的获取请求,所述第二配置信息是用于对所述第一配置信息进行更新的配置信息。
14.根据权利要求13所述的装置,其特征在于,所述第二配置信息的获取请求携带有所述应用程序的包名与版本号,所述第二配置信息是与所述应用程序的所述包名、所述版本号对应的配置信息。
15.一种移动终端,其特征在于,所述移动终端包括:处理器和存储器;
所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如权利要求1至7任一所述的更新状态确定方法。
16.一种计算机可读存储介质,其特征在于,所述可读存储介质中存储有至少一条指令,所述至少一条指令被处理器加载并执行时实现如权利要求1至7任一所述的更新状态确定方法。
CN201810520266.7A 2018-05-28 2018-05-28 更新状态确定方法、设备及存储介质 Active CN108733397B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810520266.7A CN108733397B (zh) 2018-05-28 2018-05-28 更新状态确定方法、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810520266.7A CN108733397B (zh) 2018-05-28 2018-05-28 更新状态确定方法、设备及存储介质

Publications (2)

Publication Number Publication Date
CN108733397A CN108733397A (zh) 2018-11-02
CN108733397B true CN108733397B (zh) 2022-03-11

Family

ID=63936341

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810520266.7A Active CN108733397B (zh) 2018-05-28 2018-05-28 更新状态确定方法、设备及存储介质

Country Status (1)

Country Link
CN (1) CN108733397B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109857444B (zh) * 2019-01-03 2022-04-12 上海拉扎斯信息科技有限公司 应用程序的更新方法、装置、电子设备和可读存储介质
CN111241008B (zh) * 2019-12-31 2022-09-23 潍柴动力股份有限公司 用于校正eeprom变量与地址的方法、装置和控制器
CN111857924A (zh) * 2020-07-21 2020-10-30 哈尔滨海能达科技有限公司 一种终端的多语言实现方法及装置
CN112363741A (zh) * 2020-10-27 2021-02-12 星火科技技术(深圳)有限责任公司 Agv小车系统更新方法、装置、设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104915346A (zh) * 2014-03-11 2015-09-16 上海卓岚信息科技有限公司 用于网页模块的Web服务器及其输出控制或输入更新方法
CN107608707A (zh) * 2017-07-31 2018-01-19 努比亚技术有限公司 具有热修复功能之应用检测方法、终端及可读存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2008114491A1 (ja) * 2007-03-20 2010-07-01 株式会社Access アプリケーション更新管理機能を備えた端末、アプリケーション更新管理プログラムおよびシステム
US10430180B2 (en) * 2010-05-26 2019-10-01 Automation Anywhere, Inc. System and method for resilient automation upgrade

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104915346A (zh) * 2014-03-11 2015-09-16 上海卓岚信息科技有限公司 用于网页模块的Web服务器及其输出控制或输入更新方法
CN107608707A (zh) * 2017-07-31 2018-01-19 努比亚技术有限公司 具有热修复功能之应用检测方法、终端及可读存储介质

Also Published As

Publication number Publication date
CN108733397A (zh) 2018-11-02

Similar Documents

Publication Publication Date Title
US10990623B2 (en) Information retrieval method, eletronic device and storage medium
CN108733397B (zh) 更新状态确定方法、设备及存储介质
CN107229527B (zh) 信息资源收藏方法、装置及计算机可读存储介质
EP3242203A1 (en) Method for operating a display device and display device
US10783459B2 (en) Method and device for providing ticket information
US10791187B2 (en) Information displaying method and apparatus, and storage medium
CN106896991B (zh) 一种更新信息的方法及装置
EP3260998A1 (en) Method and device for setting profile picture
CN107870712B (zh) 一种截图处理方法及装置
CN106354504B (zh) 消息显示方法及装置
WO2017092121A1 (zh) 信息处理的方法及装置
CN107229403B (zh) 一种信息内容选择方法及装置
CN117390330A (zh) 网页访问方法及装置
CN107729098B (zh) 用户界面显示方法及装置
CN108334623B (zh) 歌曲的显示方法、装置和系统
CN107402767B (zh) 显示推送消息的方法和装置
CN108803891B (zh) 一种信息展示方法、装置、电子设备以及存储介质
CN106331328B (zh) 信息提示的方法及装置
CN107360322B (zh) 信息提示方法及装置
US20190026380A1 (en) Method and apparatus for processing bookmark and terminal device
CN107179837B (zh) 输入方法及装置
CN105260088B (zh) 信息分类展示处理的方法及装置
CN108804181B (zh) 控件内容获取方法、装置及存储介质
US11836342B2 (en) Method for acquiring historical information, storage medium, and system
CN105487746A (zh) 搜索结果的呈现方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant