CN116954782A - 软件检查状态显示方法及装置 - Google Patents

软件检查状态显示方法及装置 Download PDF

Info

Publication number
CN116954782A
CN116954782A CN202310363594.1A CN202310363594A CN116954782A CN 116954782 A CN116954782 A CN 116954782A CN 202310363594 A CN202310363594 A CN 202310363594A CN 116954782 A CN116954782 A CN 116954782A
Authority
CN
China
Prior art keywords
interface
state
terminal equipment
software
new version
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.)
Granted
Application number
CN202310363594.1A
Other languages
English (en)
Other versions
CN116954782B (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.)
Honor Device Co Ltd
Original Assignee
Honor Device 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 Honor Device Co Ltd filed Critical Honor Device Co Ltd
Priority to CN202310363594.1A priority Critical patent/CN116954782B/zh
Publication of CN116954782A publication Critical patent/CN116954782A/zh
Application granted granted Critical
Publication of CN116954782B publication Critical patent/CN116954782B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)

Abstract

本申请提供了一种软件检查状态显示方法,用户操作第一界面(即系统和更新的界面)的软件更新设置项,显示第二界面(即软件更新设置项的界面)。用户操作第二界面的检查更新按钮,显示第三界面(即新版本检查中的界面)。用户操作回退按钮,显示第一界面。在确定终端设备处于预设场景且处于新版本检查中的情况下,响应于用户对软件更新设置项的操作,显示第三界面。其中,预设场景包括处于虚拟AB升级的合并状态,或处于定制软件包下载完成待安装状态。可见,该方案在上述两个场景中,进入第三界面进行新版本检查后退出第三界面,然后又进入第二界面后,操作检查更新按钮,直接显示新版本检查中的第三界面,以便用户直观地看到处于新版本检查中。

Description

软件检查状态显示方法及装置
技术领域
本申请涉及计算机技术领域,尤其涉及一种软件检查状态显示方法及装置。
背景技术
终端设备如手机、平板电脑、可穿戴设备等,设置有软件更新功能项,进入软件更新界面且接收到用户对“检查更新”按钮的操作后,触发系统进行新版本检查过程。但在某些场景(例如,虚拟AB升级后重启进入合并阶段,或在定制系统的软件包已下载待安装阶段)下,在新版本检查结果返回之前退回到上一级界面后重新进入软件更新后,仍进入软件更新的原始界面,即仍显示可操作的“检查更新”按钮。而且,会出现用户点击“检查更新”按钮无响应的情况,导致用户不知道终端设备当前处于什么状态,用户体验差。
发明内容
有鉴于此,本申请提供了一种软件检查状态显示方法及装置,以解决上述的问题,其公开的技术方案如下:
第一方面,本申请提供了一种软件检查状态显示方法,应用于终端设备,该方法包括:显示第一界面,第一界面包括软件更新设置项,第一界面即图2的(1)所示的系统和更新的界面,软件更新设置项是指图2的(1)所示的软件更新项32。响应于用户对软件更新设置项的操作,显示第二界面,第二界面包括检查更新按钮。在虚拟AB升级的合并状态下(即后文提及的场景①),第二界面即图2的(2)所示的界面。在定制软件包下载完成待安装状态下(即后文提及的场景②),第二界面即图2的(3)所示的界面,这两个界面都包括检查更新按钮,即按钮45。响应于用户对检查更新按钮的操作,显示第三界面,第三界面包括新版本检查中的信息及回退按钮。第三界面即图2的(4)所示的界面。接收用户对回退按钮(如图2的(4)中的按钮46)的操作,显示第一界面;响应于对第一界面的软件更新设置项的操作,显示第三界面,可见,该方案在上述的预设场景下,进入软件更新界面触发检查更新后退回上一级界面之后,并在返回检查更新结果之前再次进入软件更新界面时,直接显示新版本检查中的界面,从而使软件更新的界面显示与当前所处状态一致的内容,进而使用户通过软件更新界面知道软件更新模块当前所处的状态。
在第一方面的一种可能的实现方式中,响应于对第一界面的软件更新设置项的操作,显示第三界面,包括:响应于对软件更新设置项的操作,检测到终端设备处于预设场景且处于新版本检查中的状态,显示所述第三界面,所述预设场景包括所述终端设备处于虚拟AB升级的合并状态,或者终端设备处于定制软件包下载完成待安装状态。
在第一方面的一种可能的实现方式中,在判定终端设备处于预设场景且处于新版本检查中的情况下,响应于对软件更新设置项的操作,显示第三界面,包括:响应于对软件更新设置项的操作,获得终端设备的状态信息;若基于状态信息确定终端设备处于预设场景,判断当前是否处于新版本检查中;若终端设备当前处于新版本检查中,显示第三界面。可见,该方案在确定终端设备当前处于预设场景后,继续判断当前是否处于新版本检查中,若是直接显示第三界面,即新版本检查中的界面。
在第一方面的另一种可能的实现方式中,响应于对软件更新设置项的操作,获得终端设备的状态信息,包括:响应于对软件更新设置项的操作,读取第一状态信息;基于第一状态信息确定终端设备当前未处于虚拟AB升级中,读取第二状态信息;基于第二状态信息确定终端设备当前处于虚拟AB升级后的合并状态,确定终端设备处于预设场景。
在第一方面的另一种可能的实现方式中,响应于对软件更新设置项的操作,获得终端设备的状态信息,还包括:基于第二状态信息确定终端设备当前未处于虚拟AB升级后的合并状态,读取第三状态信息;基于第三状态信息确定终端设备未处于非虚拟AB升级中,读取第四状态信息;基于第四状态信息确定终端设备处于定制软件包下载完成待安装的状态,确定终端设备处于预设场景。
在第一方面的另一种可能的实现方式中,在判定终端设备处于预设场景之前,该方法还包括:若终端设备支持虚拟AB升级,判断终端设备是否处于虚拟AB升级的合并状态中;若终端设备不支持虚拟AB升级,判断终端设备是否处于定制软件包下载完成待安装的状态。这样,无需分别开发针对支持虚拟AB升级的方法代码和不支持虚拟AB升级的方法代码,支持虚拟AB升级的系统和不支持虚拟AB升级的系统都可以使用本申请的软件检查状态显示方法。因此,扩大了该方案的适用范围,同时降低了研发人员的开发工作量。
在第一方面的另一种可能的实现方式中,在确定终端设备不支持虚拟AB升级之后,判断终端设备是否处于定制软件包下载完成待安装的状态之前,还包括:判断终端设备是否处于非虚拟AB升级中;若终端设备未处于非虚拟AB升级中,执行判断终端设备是否处于定制软件包下载完成待安装的状态的步骤。
在第一方面的另一种可能的实现方式中,终端设备包括用于实现软件检查更新的软件更新模块;判断终端设备是否处于新版本检查中的过程,包括:软件更新模块调用新版本检查函数从检查更新模块的数据库中读取新版本检查状态值;软件更新模块接收到新版本检查函数返回的状态参数值,若状态参数值为第一预设值,确定终端设备处于新版本检查中。
在第一方面的另一种可能的实现方式中,软件更新模块调用新版本检查函数从检查更新模块的数据库中读取新版本检查状态值包括:软件更新模块调用getCheckingStatus()函数,从数据库中读取新版本检查状态;软件更新模块接收到新版本检查函数返回的状态参数值,包括:软件更新模块接收getCheckingStatus()函数返回的checkStatus值。
在第一方面的另一种可能的实现方式中,若状态参数值为第一预设值,确定终端设备处于新版本检查中,包括:若checkStatus值为2确定终端设备处于新版本检查中。
在第一方面的另一种可能的实现方式中,该方法还包括:若确定终端设备处于虚拟AB升级的合并状态,且判定终端设备未处于新版本检查中,显示已是最新版本的界面;若确定终端设备处于定制软件包下载完成待安装状态,且判定终端设备未处于新版本检查中,显示定制软件待安装的界面。
第二方面,本申请还提供了一种终端设备,终端设备包括:一个或多个处理器、存储器和触摸屏;所述存储器用于存储程序代码;所述处理器用于运行所述程序代码,使得该电子设备实现第一方面任一项所述的软件检查状态显示方法。
第三方面,本申请还提供了一种计算机可读存储介质,其上存储有指令,当指令在电子设备上运行时,使得电子设备执行第一方面任一项的软件检查状态显示方法。
第四方面,本申请还提供了一种计算机程序产品,其特征在于,其上存储有执行,当所述计算机程序产品在电子设备上运行时,使得所述电子设备实现第一方面任一项的软件检查状态显示方法。
应当理解的是,本申请中对技术特征、技术方案、有益效果或类似语言的描述并不是暗示在任意的单个实施例中可以实现所有的特点和优点。相反,可以理解的是对于特征或有益效果的描述意味着在至少一个实施例中包括特定的技术特征、技术方案或有益效果。因此,本说明书中对于技术特征、技术方案或有益效果的描述并不一定是指相同的实施例。进而,还可以任何适当的方式组合本实施例中所描述的技术特征、技术方案和有益效果。本领域技术人员将会理解,无需特定实施例的一个或多个特定的技术特征、技术方案或有益效果即可实现实施例。在其他实施例中,还可在没有体现所有实施例的特定实施例中识别出额外的技术特征和有益效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是现有的软件检查更新界面的示意图;
图2是本申请实施例提供的一种软件检查更新界面的示意图;
图3是本申请实施例提供的一种终端设备的结构示意图;
图4是本申请实施例提供的一种终端设备的软件架构的示意图;
图5是本申请实施例提供的一种软件检查状态显示方法的流程图;
图6是本申请实施例提供的一种包下载中及包安装中的界面示意图;
图7是本申请实施例提供的检测到新版本的界面示意图;
图8是本申请实施例提供的另一种软件检查状态显示方法的流程图;
图9是本申请实施例提供的又一种软件检查状态显示方法的流程图。
具体实施方式
本申请说明书和权利要求书及附图说明中的术语“第一”、“第二”和“第三”等是用于区别不同对象,而不是用于限定特定顺序。
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
为了下述各实施例的描述清楚简洁,首先给出相关技术的简要介绍:
虚拟AB升级:属于Android系统下的一种新的更新机制,它能实现系统无缝更新,减少系统更新时(无法使用终端设备)的等待时间。终端设备内设置有两个分区,比如:A分区和B分区。两个分区可以存储两个系统,例如,A分区内存储终端设备当前使用的系统,B分区内存储下载的新版本系统。
当下载并安装新版本系统时,该新版本系统可以存储在B分区内,这样,在终端设备安装新版本系统时,系统可在后台进行升级,即更新到新版本的系统。与此同时,终端设备内A分区的系统仍可运行。因此,在进行虚拟AB升级时,终端设备不需要重启进入升级页面,而是在终端设备使用过程中就能完成更新,升级完成后会提醒重启手机。终端设备重启时执行merge操作进行A、B分区同步。
传统升级:终端设备内仅设置有一个系统分区,当下载新版本系统后,安装新新版本系统的过程中终端设备显示系统安装进度,此期间用户无法使用终端设备。
多包融合系统:是在基础系统版本(即系统ROM版本包)的基础上增加了运营商定制版本包或系统参数版本包。针对此系统,可以只针对定制部分内容进行升级,不需要下载整个系统的全部代码并安装,因此,多包融合系统的升级无法采用虚拟AB升级方式。后文中的定制软件包即运营商定制版本包或系统参数版本包。
下面以手机为例结合图1介绍软件检查更新界面存在的缺陷。
如图1的(1)所示,用户点击桌面10上的设置APP图标11,手机显示如图1的(2)所示的设置应用程序(Application,APP)界面20。设置APP界面20包括区域21,该区域用于显示各个设置项,如WLAN、蓝牙、移动网络、系统和更新等多个设置项,用户向上滑动区域21,该区域所显示的内容向上移动,从而展示其他设置项。系统和更新项22包括控件23,用户点击控件23或系统和更新22条目的其它位置,跳转至如图1的(3)所示的系统和更新设置的界面30,界面30包括回退按钮31和软件更新项32,当然该界面30还可以包括其他设置项。
在虚拟AB升级重启后的合并状态下(即场景①),用户点击软件更新项32后,跳转至如图1的(4)所示的软件更新界面40。如图1的(4)所示,软件更新界面40包括区域41,该区域用于显示手机的操作系统的相关信息,如包括操作系统版本主视图42,显示有“已是最新版本”的区域43,以及当前版本的版本号(如本示例中版本号为7.0.0.123)等信息项44。软件更新界面40的底部还包括按钮45,该按钮45的操作状态可以根据软件更新的状态变化。例如,在本实施例中,按钮45显示“检查更新”的内容,此时按钮45为可操作的状态,用户点击该按钮后跳转至如图1的(6)所示的界面50,该界面50与界面40的区别包括:操作系统版本主视图42具有动态效果,即圆圈显示转动的弧线的动态效果。区域43的文字内容更新为“正在检查…”,按钮45变为不可操作的状态。
如果用户点击界面50的回退按钮46,跳转至图1的(7)所示的界面30。此时,用户再次点击图1的(7)所示的软件更新项32时,跳转至图1的(4)所示的界面40,即按钮45为可操作状态,而且,当用户点击按钮45后无响应,即仍显示图1的(4)所示的界面。这样,会导致用户认为软件更新功能异常。
在定制软件包已下载待安装阶段(即场景②),点击软件更新项32后,跳转至图1的(5)所示界面60,即定制软件包待安装的界面,该界面可以包括当前系统版本的信息条目,新版本定制软件包的信息条目(如可包括新版本定制软件包的版本号),当前版本定制软件包的信息条目(如可包括定制软件包的当前版本号),以及“检查更新”按钮45。点击按钮45后跳转至如图1的(6)所示的界面。点击回退按钮46跳转至图1的(7)所示的界面。若用户再次点击图1的(7)中的软件更新项32,跳转至图1的(5)所示的界面。可见,该场景下显示的界面同样会导致用户认为软件更新功能异常。
为了解决上述问题,本申请提供了一种软件检查状态显示方法,显示软件更新界面后,针对上述场景①和场景②增加了检查是否处于新版本检查状态的步骤,如果处于新版本检查状态,则显示界面50,即正在检查中的界面。
下面结合图2介绍本申请的软件检查状态显示方法显示的界面。
在终端设备当前处于虚拟AB升级重启后的合并状态下,如图2的(1)所示,用户点击界面30中的软件更新项32,跳转至图2的(2)所示的界面40。用户点击按钮45后,跳转至图2的(4)所示的正在检查中的界面50,用户点击界面50的回退按钮46后,跳转至图2的(5)所示的界面30。在检查更新未完成的情况下,用户再次点击软件更新项32,跳转至图2的(4)所示的界面。
在终端设备当前处于定制软件包已下载待安装状态下,用户点击图2的(1)中的软件更新项32跳转至图2的(3)所示的界面,用户点击按钮45后跳转至图2的(4)所示的界面50,用户点击界面50的回退按钮46后,跳转至图2的(5)所示的界面30。在检查更新未完成的情况下,用户再次点击软件更新项32,跳转至图2的(4)所示的界面。
可见,在上述场景①和场景②中,用户退出软件更新的界面后,并在检查更新未完成的情况下,再次进入软件更新项,直接显示正在检查中的界面50,这样,用户根据手机显示的界面信息直观地看到当前仍处于检查更新状态。
适用本申请的软件检查状态显示方法的终端设备可以是手机、平板电脑、个人数字助理(Personal Digital Assistant,PDA)、可穿戴电子设备、智能手表、桌面型、膝上型、笔记本电脑、超级移动个人计算机(Ultra-mobile Personal Computer,UMPC)、手持计算机、上网本、等设备,本申请对终端设备的具体形式不做限定。
图3示出了本申请实施例提供的一种终端设备的结构示意图。
如图3所示,终端设备可以包括处理器101、存储器102和触摸屏103。
处理器101可以包括一个或多个处理单元,例如,处理器101可以包括应用处理器(application processor,AP)等。例如,在本申请中,处理器101可以在检测到当前处于上述场景①或场景②后,进一步检测是否处于新版本检查状态,如果是,则在检查更新未完成的情况下,将软件更新的界面更新为正在检查中的界面。
存储器102可用于存储计算机可执行程序代码,该可执行程序代码包括指令,处理器101通过运行存储在存储器102的指令,执行终端设备的各种功能应用以及数据处理。例如,在本实施例中,处理器101可以通过执行存储在存储器102中的指令,在上述的场景①和场景②下,检测到当前处于新版本检查状态时,显示正在检查中的界面。
触摸屏103由触摸传感器和显示屏构成,触摸传感器用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏提供与触摸操作相关的视觉输出。
可以理解的是,本实施例示意的结构并不构成对终端设备的具体限定。在另一些实施例中,终端设备可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
另外,在上述部件之上,运行有操作系统。例如,操作系统,/>开源操作系统,/>操作系统等。在该操作系统上可以安装运行应用程序。
分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。下面结合图4,并以Android系统分为应用程序层、应用程序框架层、安卓运行时(Android runtime)和系统库,以及内核层为例进行说明。
应用程序层可以包括一系列应用程序包。可以包括相机,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息等应用程序。在本申请中,还可以包括设置APP。用户可以通过设置APP进入软件更新的设置项。设置APP可以访问应用程序框架层提供的设置接口管理服务。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。例如,在本申请实施例中,应用程序框架层可以为应用程序层提供手机设置功能相关的API。
Android Runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。应用程序层和应用程序框架层运行在虚拟机中。
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
需要说明的是,本申请实施例虽然以Android系统为例进行说明,但是其基本原理同样适用于基于iOS或Windows等操作系统的电子设备。
下面结合图5对本申请实施例提供的软件检查状态显示方法进行介绍。本实施例适用于终端设备。如图5所示,该方法可以包括如下步骤:
S101,启动设置APP,显示包含软件更新项的界面。
以手机为例进行说明,手机接收到用户点击设置APP的操作后,启动设置APP。进一步地,在接收到用户对设置界面的系统和更新项22的操作后,进入系统和更新的界面,即图2的(1)所示的界面,该界面包括软件更新项32。S102,响应于对软件更新项的操作,软件更新模块判断当前系统是否支持虚拟AB升级;如果支持虚拟AB升级则执行S103;如果不支持虚拟AB升级则执行S107。
手机接收到用户点击图2的(1)中的软件更新项32的操作后,响应于该操作,触发软件更新模块执行后续的处理流程。
在本实施例中,软件更新模块可以是设置APP内的用于实现软件更新的代码。
软件更新模块判断手机的当前系统版本是否支持虚拟AB升级。
例如,在一示例中,可以由设置APP内的软件更新模块调用函数SupportVAB(),函数SupportVAB()调用应用程序框架层的方法类SystemPropertiesEx.getBoolean,读取系统属性ro.virtual_ab.enabled的值返回给SupportVAB(),SupportVAB()根据读取的值向软件更新模块返回结果,如true或false。如果返回true表明支持虚拟AB升级,如果返回false表明不支持虚拟AB升级。
如果当前系统支持虚拟AB升级,则继续判断是否处于虚拟AB升级中。如果当前系统不支持虚拟AB升级,则继续判断手机是否完成传统升级。
S103,软件更新模块判断当前是否处于虚拟AB升级中;如果否,则执行S104;如果是,则执行S108。
在一示例性实施例中,不同的系统升级方式对应的优先级不同,例如,优先级由高到低依次为:虚拟AB升级、传统升级、定制软件升级。因此,确定支持虚拟AB升级后,先判断当前是否处于虚拟AB升级中。
在一示例中,软件更新模块调用函数getVabUiStatus(),在执行该函数时会调用软件更新模块中的函数VabMixUiUtil.getInstance().getVabInstallStatus(),执行该函数可以从数据库中读取虚拟AB升级状态值并返回给getVabUiStatus()函数。getVabUiStatus()函数接收到第一预设值(如21),确定虚拟AB升级完成。
例如,在一示例中,虚拟AB升级中的状态及状态值可以包括安装中对应的状态值是7、安装失败对应的状态值是24、安装需要重试对应的状态值是26等状态。如果虚拟AB升级状态值包含于上述状态值中,表明当前处于虚拟AB升级中。
getVabUiStatus()函数接收到第二预设值确定当前处于虚拟AB升级中,并向软件更新模块返回状态码VAB_CLEANUP(8),软件更新模块接收到该状态码后确定手机处于虚拟AB升级中。
S104,软件更新模块判断当前是否处于虚拟AB升级后的合并状态。如果是则执行S105;如果否则执行S107。
如果确定虚拟AB升级完成,则继续调用函数isNeedReboot()判断是否需要重启。
在一个实施例中,isNeedReboot()为应用程序框架层的函数,该函数用于读取系统属性mscw.hnouc.mix_update.need_reboot字段,该字段在虚拟AB升级完成(即在数据库写入虚拟AB升级状态之前)设置为true,在下次重启后被设置为false。因此,如果getVabUiStatus()函数接收到isNeedReboot()的返回值是false,表明当前为升级完成且重启后的Merge状态。然后,getVabUiStatus()函数向软件更新模块返回状态码VAB_CLEANUP(9),软件更新模块接收到该状态码VAB_CLEANUP(9)确定手机处于虚拟AB升级后的合并状态。
S105,软件更新模块判断当前是否处于新版本检查状态;如果是则执行S112;如果否则执行S106。
软件更新模块确定手机处于虚拟AB升级后的合并状态后,继续调用getCheckingStatus()函数从数据库中读取新版本检查状态并向软件更新模块返回checkStatus。
在一示例中,若软件更新模块接收的checkStatus值为2,确定手机处于新版本检查中。则继续执行S112软件更新的页面显示检查中的界面,即如果当前处于虚拟AB升级的合并状态,且软件更新模块处于新版本检查中的状态,则软件更新模块显示新版检查中的界面,也即如图2的(1)-(4)所示的场景,当手机处于虚拟AB升级的合并状态,如果用户点击软件更新的按钮45后退回上一级界面,然后又点击软件更新项32进入软件更新的界面,此时显示如图2的(4)所示的正在检查中的界面。
例如,在一示例中,未处于新版本检查中的状态及状态值可以包括:初始状态对应的状态值为1、检查到新版本对应的状态值为3、未检查到新版本对应的状态值为4等。若接收的checkStatus值为1、3、4中的任一个确定未处于新版本检查中。
S106,显示已是最新版本的界面。
如果软件更新模块确定手机当前处于虚拟AB升级后合并状态且未处于新版本检查中,则软件更新模块显示如图2的(2)所示的界面。
S107,软件更新模块判断当前是否处于非虚拟AB升级中;如果是执行S108;如果否执行S109。
在确定手机当前未处于虚拟AB升级中且未处于虚拟AB升级后的合并状态的情况下,需要进一步判断是否处于非虚拟AB升级中,例如,非虚拟AB升级可以包括传统升级。
在一示例中,软件更新模块调用isFirmwareUndoneLastTime函数,该函数用于判断手机当前是否未完成Firmware版本(即单一系统ROM包)的升级。
该函数执行时调用的firmwareBiz.getFirmwareDataFromDb(sContext)函数,该函数用于从数据库中读取手机固件升级状态值。
例如,在一示例中,传统升级未完成的状态包括:包(即系统包)下载、包下载暂停、包下载成功、包校验中和系统包校验成功。手机内可以存储升级状态值列表,该列表内存储传统升级未完成的各个状态的状态值。
例如,在一示例中,手机固件升级状态值为1表明当前处于包下载中。状态值为10表明当前处于包下载暂停。状态值为2表明当前处于包下载成功。状态值为4表明当前处于包完整性校验中。状态值为5表明当前处于包完整性校验成功。
如果读取的状态值是上述的任一状态值,表明传统升级未完成,即处于传统升级中。如果读取的状态值不是上述任一状态值,表明传统升级已完成。
如果确定传统升级已完成,软件更新模块还需判断手机当前是否处于多包融合版本的升级中。例如,可以通过调用isUndoneFromStatus函数从数据库中读取多包融合版本升级的状态值。
在一示例中,多包融合版本升级中的状态可以包括:包下载中(如状态值为1)、包下载暂停(如状态值可以是10)、包下载成功(如状态值可以是2)、包校验中(如状态值可以是4)和包校验成功(如状态值可以是5)。本示例中,多包融合版本升级中的上述各状态值可以与传统升级中相同状态的状态值相同,在其他示例中,多包融合版本升级与手机固件升级的相同状态的状态值可以不同,此处不再一一详述。
如果读取的状态值是上述的任一状态值,表明多包融合版本升级未完成,即处于多包融合版本升级中。如果状态值不是上述的任一状态值,表明多包融合版本升级已完成。
在一示例性实施例中,存储手机固件升级状态的数据库(可称为第一数据库)与存储多包融合版本升级状态的数据库(可称为第二数据库)不同。例如,第一数据库可以是专门用来存储手机固件升级的相关信息的数据库。第二数据库可以是专门用来存储多包融合升级相关信息的数据库。
在本实施例中,如果当前处于传统升级或多包融合版本升级中,都确定终端设备处于非虚拟AB升级中。
S108,显示升级中的界面。
如果手机处于虚拟AB升级中或非虚拟AB升级中,则软件更新模块显示升级中的界面。例如,在一示例中,升级中包括包下载中和包安装中。若处于包下载中则显示如图6的(1)所示的包下载中的界面。若处于包安装中则显示如图6的(2)所示的安装中的界面。
S109,软件更新模块判断当前是否处于定制软件包下载完成待安装状态,如果否执行S110;如果是执行S111。
如果判定当前不是传统升级中且不是多包融合版本升级中,则继续执行S109判断是否处于定制软件包下载完成待安装状态。
在一示例中,软件更新模块调用booleanisCotaLiteDownloadCompleted()函数,该函数调用软件更新模块中的getComponentFromDb方法,该方法用于从软件更新模块的数据库中读取定制软件包的状态值并返回给调用该方法的函数。如果调用该方法的函数接收到返回值是true,则继续向软件更新模块返回状态码COTA_LITE_DOWNLOADED(2),软件更新模块接收到该状态码后确定定制软件包下载完成且处于待安装状态。
S110,读取手机新版本检查的状态值,并根据状态值显示对应的界面。
在一示例性实施例中,如果确定手机当前未处于定制软件下载完成待安装状态,软件更新模块调用getCheckingStatus()函数读取新版本检查状态获得新版本检查状态checkStatus的状态值。
在一示例中,checkStatus为1表示当前是初始状态,此种情况下显示如图2的(4)所示的正在检查中的界面50。checkStatus为3表示检查到新版本,显示如图7所示的检查到新版本的界面,该界面包括当前版本的版本信息及新版本的版本信息。checkStatus为4表示未检查到新版本,可以显示如图2的(2)所示的已是最新版本的界面。
S111,软件更新模块判断当前是否处于新版本检查中;如果是执行S112;如果否执行S113。
如果确定手机当前处于定制软件下载完成待安装状态,软件更新模块继续检查当前是否处于新版本检查中。该步骤的检查当前是否处于新版本检查中的过程与S105的过程相同,此处不再赘述。
S112,显示检查中的界面。
在一示例中,检查中的界面即图2的(4)所示的界面,该界面向用户展示软件更新模块当前处于新版本检查过程且未得到检查结果的状态。
在一个应用场景中,如果启动软件更新模块(即进入设置APP的软件更新界面)时,检测到终端设备正处于虚拟AB升级重启后的合并状态中,且检测到软件更新模块处于新版本检查中,则软件更新模块的界面显示新版本检查中的界面。
在另一应用场景中,如果启动软件更新模块时,检测到终端设备正处于定制软件包下载完成待安装的状态,
S113,显示定制软件包待安装的界面。
如果S111确定软件更新模块当前未处于新版本检查中的状态,则软件更新模块显示定制软件包待安装的界面,如图2的(3)所示的界面。
S114,响应于对检查更新按钮的操作,执行新版本检查的流程,并显示新版本检查中的界面。
例如,在一示例中,用户图2的(2)或图2的(3)所示界面中的“检查更新”按钮45,软件更新模块执行检查新版本的流程,同时,跳转至图2的(4)所示的界面。
S115,响应于对回退按钮的操作,显示包含软件更新项的界面。
例如,用户点击图2的(4)所示界面中的回退按钮46,跳转至图2的(5)所示的界面。
如果用户再次点击图2的(5)所示界面中的软件更新项32,则返回执行上述S102。
本实施例提供的软件检查状态显示方法,启动软件更新模块后,若判定当前处于虚拟AB升级后的合并状态,或者定制软件包下载完成待安装状态,则继续判断当前是否处于新版本检查中,如果是则直接显示新版本检查中的界面。即,在虚拟AB升级重启后的合并状态下,触发检查更新后退出软件更新界面,且在返回检查更新结果之前再次进入软件更新界面,直接显示新版本检查中的界面。或者,在定制软件包下载完成待安装的状态下,触发检查更新后退出,并在返回检查更新结果之前再次进入软件更新界面,直接显示新版本检查中的界面。
而且,无需分别开发针对支持虚拟AB升级的方法代码和不支持虚拟AB升级的方法代码,支持虚拟AB升级的系统和不支持虚拟AB升级的系统都可以使用本申请的软件检查状态显示方法。因此,扩大了该方案的适用范围,同时降低了研发人员的开发工作量。
在另一示例性实施例中,本申请实施例还提供了如图8所示的软件检查状态显示方法,本实施例适用于支持虚拟AB升级的系统。
如图8所示,本实施例的步骤S202-S214的实施过程与图5所示实施例的步骤S103-S115相同,此处不再赘述。
本实施例的软件检查状态显示方法无需判断终端设备的系统是否支持虚拟AB升级,从而节省了判断是否支持虚拟AB升级过程的耗时,进而缩短了显示相应界面的响应时间。
在又一示例性实施例中,本申请实施例还提供了如图9所示的软件检查状态显示方法,本实施例适用于不支持虚拟AB升级的系统。
如图9所示,本实施例的步骤S302-S310的实施过程与图5所示实施例的步骤S107-S115相同,此处不再赘述。本实施例的软件检查状态显示方法无需执行与虚拟AB升级相关的步骤,即无需执行图5中的步骤S102-S106,从而节省了执行这些步骤的所需的时间,进而缩短了相应界面的响应时间,即提高了界面响应速度。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (13)

1.一种软件检查状态显示方法,其特征在于,应用于终端设备,所述方法包括:
显示第一界面,第一界面包括软件更新设置项;
响应于用户对所述软件更新设置项的操作,显示第二界面,所述第二界面包括检查更新按钮;
响应于用户对所述检查更新按钮的操作,显示第三界面,所述第三界面包括新版本检查中的信息及回退按钮;
响应于用户对所述回退按钮的操作,显示所述第一界面;
响应于对所述第一界面的软件更新设置项的操作,显示所述第三界面。
2.根据权利要求1所述的方法,其特征在于,所述响应于对所述第一界面的软件更新设置项的操作,显示所述第三界面,包括:
响应于对所述软件更新设置项的操作,检测到所述终端设备处于预设场景且处于新版本检查中的状态,显示所述第三界面,所述预设场景包括所述终端设备处于虚拟AB升级的合并状态,或者所述终端设备处于定制软件包下载完成待安装状态。
3.根据权利要求1或2所述的方法,其特征在于,所述响应于对所述第一界面的软件更新设置项的操作,显示所述第三界面,包括:
响应于对所述软件更新设置项的操作,获得所述终端设备的状态信息;
若基于所述状态信息确定所述终端设备处于预设场景,判断当前是否处于新版本检查中;
若所述终端设备当前处于新版本检查中,显示所述第二界面。
4.根据权利要求3所述的方法,其特征在于,所述响应于对所述软件更新设置项的操作,获得所述终端设备的状态信息,包括:
响应于对所述软件更新设置项的操作,读取第一状态信息;
基于所述第一状态信息确定所述终端设备当前未处于虚拟AB升级中,读取第二状态信息;
基于所述第二状态信息确定所述终端设备当前处于虚拟AB升级后的合并状态,确定所述终端设备处于所述预设场景。
5.根据权利要求4所述的方法,其特征在于,所述响应于对所述软件更新设置项的操作,获得所述终端设备的状态信息,还包括:
基于所述第二状态信息确定所述终端设备当前未处于虚拟AB升级后的合并状态,读取第三状态信息;
基于所述第三状态信息确定所述终端设备未处于所述非虚拟AB升级中,读取第四状态信息;
基于所述第四状态信息确定所述终端设备处于定制软件包下载完成待安装的状态,确定所述终端设备处于所述预设场景。
6.根据权利要求2-5任一项所述的方法,其特征在于,在判定所述终端设备处于预设场景之前,所述方法还包括:
若所述终端设备支持虚拟AB升级,判断所述终端设备是否处于虚拟AB升级的合并状态中;
若所述终端设备不支持虚拟AB升级,判断所述终端设备是否处于定制软件包下载完成待安装的状态。
7.根据权利要求6所述的方法,其特征在于,在确定所述终端设备不支持虚拟AB升级之后,判断所述终端设备是否处于定制软件包下载完成待安装的状态之前,还包括:
判断所述终端设备是否处于非虚拟AB升级中;
若所述终端设备未处于所述非虚拟AB升级中,执行所述判断所述终端设备是否处于定制软件包下载完成待安装的状态的步骤。
8.根据权利要求3-7任一项所述的方法,其特征在于,所述终端设备包括用于实现软件检查更新的软件更新模块;
判断所述终端设备是否处于新版本检查中的过程,包括:
所述软件更新模块调用新版本检查函数从所述检查更新模块的数据库中读取新版本检查状态值;
所述软件更新模块接收到所述新版本检查函数返回的状态参数值,若所述状态参数值为第一预设值,确定所述终端设备处于新版本检查中。
9.根据权利要求8所述的方法,其特征在于,所述软件更新模块调用新版本检查函数从所述检查更新模块的数据库中读取新版本检查状态值包括:
所述软件更新模块调用getCheckingStatus()函数,从数据库中读取新版本检查状态;
所述软件更新模块接收到所述新版本检查函数返回的状态参数值,包括:
所述软件更新模块接收getCheckingStatus()函数返回的checkStatus值。
10.根据权利要求9所述的方法,其特征在于,若所述状态参数值为第一预设值,确定所述终端设备处于新版本检查中,包括:
若所述checkStatus值为2确定所述终端设备处于新版本检查中。
11.根据权利要求1-10任一项所述的方法,其特征在于,所述方法还包括:
若确定所述终端设备处于虚拟AB升级的合并状态,且判定所述终端设备未处于新版本检查中,显示已是最新版本的界面;
若确定所述终端设备处于定制软件包下载完成待安装状态,且判定所述终端设备未处于新版本检查中,显示定制软件待安装的界面。
12.一种终端设备,其特征在于,所述终端设备包括:一个或多个处理器、存储器和触摸屏;所述存储器用于存储程序代码;所述处理器用于运行所述程序代码,使得所述电子设备实现如权利要求1至11任一项所述的软件检查状态显示方法。
13.一种计算机可读存储介质,其特征在于,其上存储有指令,当所述指令在电子设备上运行时,使得所述电子设备执行如权利要求1至11任一项所述的软件检查状态显示方法。
CN202310363594.1A 2023-03-31 2023-03-31 软件检查状态显示方法及装置 Active CN116954782B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310363594.1A CN116954782B (zh) 2023-03-31 2023-03-31 软件检查状态显示方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310363594.1A CN116954782B (zh) 2023-03-31 2023-03-31 软件检查状态显示方法及装置

Publications (2)

Publication Number Publication Date
CN116954782A true CN116954782A (zh) 2023-10-27
CN116954782B CN116954782B (zh) 2024-08-09

Family

ID=88460750

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310363594.1A Active CN116954782B (zh) 2023-03-31 2023-03-31 软件检查状态显示方法及装置

Country Status (1)

Country Link
CN (1) CN116954782B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104375856A (zh) * 2014-09-24 2015-02-25 腾讯科技(深圳)有限公司 应用更新方法和装置
CN110597542A (zh) * 2019-09-17 2019-12-20 Oppo(重庆)智能科技有限公司 软件自动ota升级方法及装置、电子设备
CN112449245A (zh) * 2019-09-05 2021-03-05 海信视像科技股份有限公司 双系统显示设备应用升级进度显示方法及显示设备
CN114489814A (zh) * 2021-08-20 2022-05-13 荣耀终端有限公司 一种终端设备的开机方法及终端设备
CN114995848A (zh) * 2021-12-08 2022-09-02 荣耀终端有限公司 IoT设备升级方法、IoT设备和计算机可读存储介质
CN115640034A (zh) * 2022-11-28 2023-01-24 荣耀终端有限公司 数据存储方法和设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104375856A (zh) * 2014-09-24 2015-02-25 腾讯科技(深圳)有限公司 应用更新方法和装置
CN112449245A (zh) * 2019-09-05 2021-03-05 海信视像科技股份有限公司 双系统显示设备应用升级进度显示方法及显示设备
CN110597542A (zh) * 2019-09-17 2019-12-20 Oppo(重庆)智能科技有限公司 软件自动ota升级方法及装置、电子设备
CN114489814A (zh) * 2021-08-20 2022-05-13 荣耀终端有限公司 一种终端设备的开机方法及终端设备
CN114995848A (zh) * 2021-12-08 2022-09-02 荣耀终端有限公司 IoT设备升级方法、IoT设备和计算机可读存储介质
CN115640034A (zh) * 2022-11-28 2023-01-24 荣耀终端有限公司 数据存储方法和设备

Also Published As

Publication number Publication date
CN116954782B (zh) 2024-08-09

Similar Documents

Publication Publication Date Title
US11853820B2 (en) Cross-process communication method, apparatus, and device
US20120023496A1 (en) Terminal device of non-android platform for executing android applications, and computer readable recording medium for storing program of executing android applications on non-android platform
US9875109B2 (en) Method and apparatus for generating user adaptive application in mobile terminal
US10019598B2 (en) Dynamic service discovery
CN114779987B (zh) 显示内容的方法、装置、终端及存储介质
CN112463123B (zh) 任务编译方法、装置、网络节点、系统及存储介质
CN112394906B (zh) 一种应用切换运行的方法及设备
CN114077423A (zh) 基于移动跨平台的机场app开发容器架构
US10489135B2 (en) Electronic device and method for improving installation speed of theme package
CN110968331A (zh) 应用程序运行的方法和装置
CN110851204A (zh) 应用启动的方法及装置、应用打包的方法及装置
CN109408256B (zh) 应用调用方法和装置
CN116400938B (zh) 操作系统的升级方法、设备及存储介质
CN116954782B (zh) 软件检查状态显示方法及装置
CN112313620A (zh) 安卓系统启动的方法、装置、设备及存储介质
CN114510334A (zh) 类实例的调用方法、装置、电子设备及自动驾驶车辆
CN116263824A (zh) 资源访问方法、装置、存储介质以及电子设备
CN113656063A (zh) 一种系统版本更换方法、装置、设备及计算机可读介质
CN113760631A (zh) 页面加载时长确定方法、装置、设备和存储介质
CN112882733A (zh) 应用更新方法及装置、电子设备、存储介质
CN113535143A (zh) 堆栈信息处理方法、装置、电子设备和存储介质
WO2024017278A1 (en) Method, device and program carrier for cross-platform porting of applications
CN116302295B (zh) 一种界面显示方法
CN110569037A (zh) 数据写入的方法和装置
CN114489613B (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