应用程序的图标更新方法及相关装置与流程

文档序号:32151450发布日期:2022-11-11 20:52阅读:59来源:国知局
1.本技术涉及移动终端
技术领域
:,尤其涉及应用程序的图标更新方法及相关装置。
背景技术
::2.移动终端中应用程序(application,app)的图标跟电脑中软件的图标一样,是应用程序的标记,如:照相机、设置、信箱、通讯录等。3.在很多场景下,例如在促销活动或图标改版等场景下,应用服务商或应用开发商有替换app图标的诉求。现有的一种实现方式是通过引导用户升级应用程序或者重新安装应用程序来更新app图标。但是,该实现方式增加了应用开发商的营销和推销成本,不能满足应用开发商灵活配置的诉求。4.因此如何实现应用程序的图标更新,成为亟待解决的技术问题。技术实现要素:5.本技术提出了一种应用程序的图标更新方法及相关装置,可以实现应用程序图标的在线替换,可以降低开发者的实现复杂度,从而可以降低成本。6.第一方面,本技术提供了一种应用程序的图标更新方法。所述应用程序中包含图标更新软件开发包sdk,所述方法包括:所述图标更新sdk接收应用图标管理平台发送的图标信息;所述图标更新sdk基于所述图标信息调用所述应用程序所在的电子设备的操作系统的接口,将所述应用程序在所述电子设备上的桌面图标设置为目标图标。7.本技术的方法中,通过采用平台配置与应用程序中集成sdk的方式来实现图标的在线替换,开发者无需引用户升级和重新安装应用,可以降低开发者的实现复杂度,从而可以降低成本。8.结合第一方面,在第一种可能的方式中,所述图标信息包括目标图标的标识信息;其中,所述图标更新sdk基于所述图标信息调用所述电子设备的操作系统的接口,将所述应用程序在所述电子设备上的桌面图标设置为所述目标图标,包括:所述电子设备中没有存储所述目标图标时,所述图标更新sdk向所述应用图标管理平台发送图标请求信息,所述图标请求信息用于请求所述目标图标;所述图标更新sdk接收所述应用图标管理平台发送的所述目标图标;所述图标更新sdk调用所述接口将所述桌面图标设置为所述目标图标。9.该实现方式中,图标更新sdk只在电子设备中没有存储目标图标时,才向应用图标管理平台发送图标请求信息,而在电子设备中存储目标图标时,不会向应用图标管理平台请求和下载目标图标,可以减少应用图标管理平台与图标更新sdk之间的交互次数,减少替换图标的文件网络的传输损耗,提高应用程序的图标更新效率。10.结合第一种可能的实现方式,在第二种可能的实现方式中,所述图标更新sdk向所述应用图标管理平台发送图标请求信息,包括:所述应用程序在所述电子设备上的当前桌面图标不是所述目标图标时,所述图标更新sdk向所述应用图标管理平台发送图标请求信息。11.结合第一方面,在第三种可能的实现方式中,所述图标信息包括所述目标图标。12.结合第三种可能的实现方式,在第四种可能的实现方式中,所述图标更新sdk基于所述图标信息调用所述电子设备的操作系统的接口,将所述应用程序在所述电子设备上的桌面图标设置为所述目标图标,包括:所述应用程序在所述电子设备上的当前桌面图标不是所述目标图标时,所述图标更新sdk调用所述接口将所述桌面图标设置为所述目标图标。13.结合第一方面或第一种至第四种中任意一种可能的实现方式,在第五种可能的实现方式中,所述图标更新sdk接收应用图标管理平台发送的图标信息之前,所述方法还包括:所述图标更新sdk向所述应用图标管理平台发送图标更新请求信息,所述图标更新请求信息用于请求所述应用图标管理平台当前为所述应用程序设置的目标图标。14.结合第五种可能的实现方式,在第六种可能的实现方式中,所述图标更新sdk在所述应用程序的启动阶段向所述应用图标管理平台发送所述图标更新请求信息。15.结合第五种可能的实现方式,在第七种可能的实现方式中,所述图标更新sdk向所述应用图标管理平台发送图标更新请求信息之前,所述方法还包括:所述应用程序接收所述应用图标管理平台发送的图标更新信息,所述图标更新信息用于通知所述应用程序的图标有更新。16.第二方面,本技术提供了一种应用程序的图标更新方法。该方法包括:应用图标管理平台将所述应用程序的图标设置为目标图标;所述应用图标管理平台向所述应用程序的图标更新sdk发送图标信息,所述图标信息用于:所述图标更新sdk调用所述应用程序所在的电子设备的操作系统的接口,将所述应用程序在所述电子设备上的桌面图标设置为所述目标图标。17.本技术的方法中,通过采用平台配置与应用程序中集成sdk的方式来实现图标的在线替换,开发者无需引用户升级和重新安装应用,可以降低开发者的实现复杂度,从而可以降低成本。18.结合第二方面,在第一种可能的方式中,所述图标信息包括目标图标的标识信息,其中,所述方法还包括:所述应用图标管理平台接收所述图标更新sdk发送的图标请求信息,所述图标请求信息用于请求所述目标图标;所述应用图标管理平台向所述图标更新sdk发送所述目标图标。19.结合第一种可能的实现方式,在第二种可能的实现方式中,所述图标信息包括所述目标图标。20.结合第二方面或第一种或第二种可能的实现方式,在三种可能的实现方式中,所述应用图标管理平台向所述应用程序的图标更新sdk发送图标信息之前,所述方法还包括:所述应用图标管理平台接收所述图标更新sdk发送的图标更新请求信息,所述图标更新请求信息用于请求所述应用图标管理平台当前为所述应用程序设置的目标图标。21.结合第三种可能的实现方式,在第四种可能的实现方式中,所述应用图标管理平台接收所述图标更新sdk发送的图标更新请求信息之前,所述方法还包括:所述应用图标管理平台向所述应用程序发送图标更新信息,所述图标更新信息用于通知所述应用程序的图标有更新。22.第三方面,本技术提供了一种应用装置,所述装置可以包括用于实现第一方面中的方法的各个模块,这些模块可以通过软件和/或硬件的方式实现。23.第四方面,本技术提供了一种应用图标管理装置,所述装置可以包括用于实现第二方面中的方法的各个模块,这些模块可以通过软件和/或硬件的方式实现。24.第五方面,本技术提供一种计算机可读介质,该计算机可读介质存储用于设备执行的程序代码,该程序代码包括用于执行第一方面或第二方面或其中任意一种可能的实现方式所述的方法。25.第六面,本技术提供一种应用程序的图标更新装置,包括:存储器和处理器;所述存储器用于存储程序指令;所述处理器用于调用所述存储器中的程序指令执行第一方面或第二方面或其中任意一种可能的实现方式所述的方法。26.第七方面,本技术提供一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行第一方面或第二方面或其中任意一种可能的实现方式所述的方法。27.第八方面,本技术提供一种芯片,包括至少一个处理器和通信接口,所述通信接口和所述至少一个处理器通过线路互联,所述至少一个处理器用于运行计算机程序或指令,以执行第一方面或第二方面或其中任意一种可能的实现方式所述的方法。28.第九方面,本技术提供一种计算设备,包括至少一个处理器和通信接口,所述通信接口和所述至少一个处理器通过线路互联,所述通信接口与目标系统通信,所述至少一个处理器用于运行计算机程序或指令,以执行第一方面或第二方面或其中任意一种可能的实现方式所述的方法。附图说明29.图1为应用本技术一个实施例的系统架构示意图;30.图2为本技术实施例的应用图标管理平台中设置应用程序图标的设置界面的一个示意图;31.图3为本技术实施例的应用图标管理平台中设置应用程序图标的设置界面的另一个示意图;32.图4为本技术一个实施例的电子设备的结构示意图;33.图5为本技术一个实施例的电子设备的软件结构示意图;34.图6为本技术一个实施例的电子设备的应用程序的图标更新方法的流程示意图一;35.图7为本技术一个实施例的电子设备的应用程序的图标更新方法的流程示意图二;36.图8为本技术一个实施例的电子设备的应用程序的图标更新方法的流程示意图三;37.图9为本技术一个实施例的电子设备的应用程序的图标更新方法的流程示意图四;38.图10为本技术一个实施例的电子设备的应用程序的图标更新方法的流程示意图五;39.图11为本技术一个实施例提供的应用装置的结构示意图;40.图12为本技术一个实施例提供的应用图标管理装置的结构示意图;41.图13为本技术一个实施例提供的应用程序的图标更新装置的结构示意图。具体实施方式42.图1为应用本技术一个实施例的系统架构示意图。如图1所示,该系统包括开发者平台、应用市场、电子设备和应用图标管理平台。43.开发者平台用于开发者开发应用程序。本实施例中的开发者平台还为开发者提供图标更新软件开发包(softwaredevelopkit,sdk)。这样,开发者使用开发者平台开发应用程序时,可以在应用工程中引用图标更新sdk,并将图标更新sdk集成到应用工程中。其中,图标更新sdk是指能够与应用图标管理平台交互并获取应用程序在电子设备中的图标以及能够调用电子设备的系统接口来设置应用程序图标的sdk。44.开发者使用开发者平台开发得到集成了图标更新sdk的应用程序之后,可以将该应用程序发布到应用市场。45.本实施例中的电子设备的操作系统可以包括安卓(android)系统、苹果操作系统(ios系统)、windows系统或linux系统等。46.开发者可以在应用图标管理平台中设置应用程序的图标。图2为本技术实施例的应用图标管理平台中设置应用程序图标的设置界面的一个示意图。可以理解的是,图2仅是图标设置界面和图标设置方式的一个示例,本技术实施例并不限制图标设置界面的具体内容以及并不限制应用程序的图标设置的具体实现方式。47.如图2所示,应用图标管理平台为应用程序提供的图标设置界面中,可以为开发者提供一个或多个备选图标的选项。开发者从这些选项中选中应用程序的目标图标,并点击提交之后,应用图标管理平台中记录应用程序的目标图标。48.可选地,如图3所示,应用图标管理平台还可以为开发者提供上传其他备选图标的功能,以便于开发者能够上传更多的备选图标,丰富开发者的选择。其中,用户点击“上传”按钮之后,可以向应用图标管理平台上传更多的图标。49.可选地,应用图标管理平台还可以为开发者提供删除备选图标的功能,以便于开发者能够删除不需要的备选图标,节省应用图标管理平台的存储资源。50.电子设备可以从应用市场下载该集成了图标更新sdk的应用程序,并安装应用程序。电子设备安装应用程序之后,可以通过应用程序中的图标更新sdk与应用图标管理平台交互,以从应用图标管理平台接收应用程序的目标图标的指示信息,并基于该指示信息调用电子设备的系统接口,将应用程序的桌面图标设置为该目标图标。本实施例中的电子设备的一种示例为图4所示的电子设备。51.本实施例中,因为电子设备中应用程序的图标替换是通过集成在应用程序中的sdk与应用图标管理平台的交互来实现的,因此,在开发者有更新电子设备上的应用程序图标的需要时,只需在应用图标管理平台中更新应用程序的目标图标即可。52.由此可知,与通过更新应用程序或者重新下载和安装应用程序来更新电子设备中的应用程序图标相比,本实施例的系统能够低成本、更灵活、更快速地实现电子设备中的应用程序图标的更新或替换。53.本实施例中,可选地,应用图标管理平台和开发者平台可以是同一个平台,或者,应用图标管理平台可以由部署在网络侧设的设备来实现。intelligence,ai)设备、可穿戴式设备、车载设备、智能家居设备、或智慧城市设备中的至少一种。本技术实施例对该电子设备100的具体类型不作特殊限制。64.电子设备100可以包括处理器110、内部存储器121、usb接头130、电源管理模块141、天线1、天线2、移动通信模块150、无线通信模块160、显示屏194等。65.可以理解的是,本技术实施例示意的结构并不构成对电子设备100的具体限定。在本技术另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。66.处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(applicationprocessor,ap),调制解调处理器,图形处理器(graphicsprocessingunit,gpu),图像信号处理器(imagesignalprocessor,isp),控制器,视频编解码器,数字信号处理器(digitalsignalprocessor,dsp),基带处理器,和/或神经网络处理器(neural-networkprocessingunit,npu)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。67.处理器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。68.处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器可以为高速缓冲存储器。该存储器可以保存处理器110用过或使用频率较高的指令或数据。如果处理器110需要使用该指令或数据,可从该存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。69.在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integratedcircuit,i2c)接口,集成电路内置音频(inter-integratedcircuitsound,i2s)接口,脉冲编码调制(pulsecodemodulation,pcm)接口,通用异步收发传输器(universalasynchronousreceiver/transmitter,uart)接口,移动产业处理器接口(mobileindustryprocessorinterface,mipi),通用输入输出(general-purposeinput/output,gpio)接口,用户标识模块(subscriberidentitymodule,sim)接口,和/或通用串行总线(universalserialbus,usb)接口等。处理器110可以通过以上至少一种接口连接触摸传感器、音频模块、无线通信模块、显示器、摄像头等模块。70.可以理解的是,本技术实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在本技术另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。71.usb接头130是一种符合usb标准规范的接口,可以用于连接电子设备100和外围设备,具体可以是miniusb接头,microusb接头,usbtypec接头等。usb接头130可以用于连接充电器,实现充电器为该电子设备100充电,也可以用于连接其他电子设备,实现电子设备100与其他电子设备之间传输数据。也可以用于连接耳机,通过耳机输出电子设备中存储的音频。该接头还可以用于连接其他电子设备,例如vr设备等。在一些实施例中,通用串行总线的标准规范可以为usb1.x、usb2.0、usb3.x和usb4。72.电源管理模块141用于连接电源与处理器110。电源管理模块141接收电源(例如内部电池或外部电源)的输入,为处理器110、内部存储器121、显示屏194、移动通信模块150和无线通信模块160等供电。73.电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。74.电子设备100的无线通信功能可以通过天线1、天线2、移动通信模块150、无线通信模块160、调制解调处理器以及基带处理器等实现。75.天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。76.移动通信模块150可以提供应用在电子设备100上的包括2g/3g/4g/5g等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(lownoiseamplifier,lna)等。77.移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。78.调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。79.无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wirelesslocalareanetworks,wlan)(如无线保真(wirelessfidelity,wi-fi)网络),蓝牙(bluetooth,bt),蓝牙低功耗(bluetoothlowenergy,ble),超宽带(ultrawideband,uwb),全球导航卫星系统(globalnavigationsatellitesystem,gnss),调频(frequencymodulation,fm),近距离无线通信技术(nearfieldcommunication,nfc),红外技术(infrared,ir)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。80.在一些实施例中,电子设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备100可以通过无线通信技术与网络和其他电子设备通信。该无线通信技术可以包括全球移动通讯系统(globalsystemformobilecommunications,gsm),通用分组无线服务(generalpacketradioservice,gprs),码分多址接入(codedivisionmultipleaccess,cdma),宽带码分多址(widebandcodedivisionmultipleaccess,wcdma),时分码分多址(time-divisioncodedivisionmultipleaccess,td-scdma),长期演进(longtermevolution,lte),bt,gnss,wlan,nfc,fm,和/或ir技术等。该gnss可以包括全球卫星定位系统(globalpositioningsystem,gps),全球导航卫星系统(globalnavigationsatellitesystem,glonass),北斗卫星导航系统(beidounavigationsatellitesystem,bds),准天顶卫星系统(quasi-zenithsatellitesystem,qzss)和/或星基增强系统(satellitebasedaugmentationsystems,sbas)。81.电子设备100可以通过gpu、显示屏194以及应用处理器等实现显示功能。gpu为图像处理的微处理器,连接显示屏194和应用处理器。gpu用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个gpu,其执行程序指令以生成或改变显示信息。82.显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquidcrystaldisplay,lcd),有机发光二极管(organiclight-emittingdiode,oled),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganiclightemittingdiode的,amoled),柔性发光二极管(flexlight-emittingdiode,fled),微型发光二极管(microlightemittingdiode,microled),微型有机发光二极管(microorganiclight-emittingdiode,microoled),量子点发光二极管(quantumdotlightemittingdiodes,qled)等。在一些实施例中,电子设备100可以包括1个或多个显示屏194。83.内部存储器121可以用于存储计算机可执行程序代码,该可执行程序代码包括指令。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universalflashstorage,ufs)等。处理器110通过运行存储在内部存储器121的指令,和/或存储在设置于处理器中的存储器的指令,执行电子设备100的各种功能方法或数据处理。84.作为一种示例,本实施例的电子设备100的处理器110可以通过移动通信模块150和天线1,或通过无线通信模块160和天线2,或通过usb接头130从应用市场下载集成有图标更新sdk的应用程序,并调用应用程序中的图标更新sdk通过移动通信模块150和天线1,或通过无线通信模块160和天线2,或通过usb接头130与应用图标管理平台交互,以完成应用程序图标的更新或替换,然后通过显示屏显示更新后的应用程序图标。85.电子设备100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本技术实施例以分层架构的系统为例,结合图5,示例性说明电子设备100的软件结构。例如,电子设备100的软件系统为分层架构的android系统时,其软件结构示意图如图5所示。86.分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将android系统分为五层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(androidruntime,art)和原生c/c++库,硬件抽象层(hardwareabstractlayer,hal)以及内核层。87.应用程序层可以包括一系列应用程序包。如图5所示,应用程序包可以包括相机、图库、日历、通话、地图、导航、wlan、蓝牙、音乐、视频、短信息等应用程序。88.应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramminginterface,api)和编程框架。应用程序框架层包括一些预先定义的函数。89.如图5所示,应用程序框架层可以包括窗口管理器、内容提供器、视图系统、资源管理器、通知管理器、活动管理器、输入管理器等。90.窗口管理器提供窗口管理服务(windowmanagerservice,wms),wms可以用于窗口管理、窗口动画管理、表面(surface)管理以及作为输入系统的中转站。91.内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。该数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。92.视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。93.资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。94.通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。95.活动管理器可以提供活动管理服务(activitymanagerservice,ams),ams可以用于系统组件(例如活动、服务、内容提供者、广播接收器)的启动、切换、调度以及应用进程的管理和调度工作。96.输入管理器可以提供输入管理服务(inputmanagerservice,ims),ims可以用于管理系统的输入,例如触摸屏输入、按键输入、传感器输入等。ims从输入设备节点取出事件,通过和wms的交互,将事件分配至合适的窗口。97.安卓运行时包括核心库和安卓运行时。安卓运行时负责将源代码转换为机器码。安卓运行时主要包括采用提前(aheadortime,aot)编译技术和及时(justintime,jit)编译技术。98.核心库主要用于提供基本的java类库的功能,例如基础数据结构、数学、io、工具、数据库、网络等库。核心库为用户进行安卓应用开发提供了api。99.原生c/c++库可以包括多个功能模块。例如:表面管理器(surfacemanager),媒体框架(mediaframework),libc,opengles、sqlite、webkit等。100.其中,表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2d和3d图层的融合。媒体框架支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:动态图像专家组(movingpictureexpertsgroup,mpeg)4、h.264、mp3、高级音频编码(advancedaudiocoding,aac)、自适应多码率(adaptivemulti-rate,amr)、jpg、可移植网络图形格式(portablenetworkgraphicformat,png)等。opengles提供应用程序中2d图形和3d图形的绘制和操作。sqlite为电子设备100的应用程序提供轻量级关系型数据库。101.硬件抽象层运行于用户空间(userspace),对内核层驱动进行封装,向上层提供调用接口。硬件抽象层至少包含显示模块,摄像头模块,音频模块,传感器模块。102.内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。103.本实施例中,应用程序层以下的所有层可以统称为系统层。系统层可以从应用市场下载集成了图标更新sdk的应用程序并在应用程序层中添加该应用程序。进一步地,系统层可以运行应用程序层中的应用程序中的图标更新sdk;该图标更新sdk通过系统层与应用图标管理平台交互,以确定应用程序的目标图标,并调用系统层中的接口来更新应用程序的图标;系统层显示该应用程序更新后的图标。104.本技术的实施例中,电子设备通过图标更新sdk来设置应用程序图标的流程可以称为应用程序图标的在线替换流程。105.图6为本技术一个实施例的电子设备的应用程序的图标在线替换方法的流程示意图。如图6所示,该方法可以包括s610、s620、s630、s640和s650。106.s610,用户启动电子设备中的应用程序。107.例如,用户点击电子设备桌面上的图标,以启动该图标对应的应用程序。108.s620,应用程序拉起集成的图标更新sdk。109.该步骤也可以理解为应用程序的主线程调用该应用程序中集成的图标更新sdk。110.s630,图标更新sdk向应用程序返回响应。111.例如,图标更新sdk向应用程序的主线程返回响应。本实施例中,图标更新sdk在被拉起之后,直接向应用程序返回响应,可以避免阻塞和影响应用的启动时长。本实施例中,图标更新sdk被拉起并向应用程序直接返回响应后,后续执行的图标替换操作与应用程序的主线程异步,或者说与应用程序的主线程并行处理。112.s640,应用程序处理其他启动事务。113.例如,应用程序的主线程执行相关启动操纵。114.s650,图标更新sdk与应用图标管理平台交互以及与电子设备的操作系统交互,以实现图标在线替换。115.本实施例中,在s650后,用户再次返回桌面查看,可以看到该应用程序的图标已设置为开发者当前为应用程序设置的目标图标。116.可选的,本技术还可以将电子设备的使用用户进行分群,对不同的用户分别配置不同的图标,为不同用户选择合适的图标。117.本实施例提供给应用程序的开发者提供了一种在线替换图标方案,与现有技术中需要升级或重新安装应用程序相比,通过采用平台配置与应用程序中集成sdk的方式来实现图标的在线替换,可以降低开发者的实现复杂度,从而可以降低成本。118.此外,本实施例中,应用图标管理平台直接向图标更新sdk发送目标图标,可以减少应用图标管理平台与图标更新sdk之间的交互次数,提高应用程序的图标更新效率。119.本实施例中,可选地,s640与s620和s630也可以是异步执行的,或者说并行执行的。120.本实施例中,可选地,应用图标管理平台可以直接调用电子设备的操作系统中的图标管理接口来设置应用程序的图标,也可以通过电子设备的桌面管理程序来调用操作系统中的图标管理接口来设置应用程序的图标。其中,第一种方式相比于第二种实现方式,效率更高,并且在电子设备的桌面管理程序不开放其接口调用的场景下也能实现应用程序的图标更新需求。121.本实施例中的s650,即图标更新sdk与应用图标管理平台交互以实现图标在线替换,可以通过多种实现方式实现,下面对图标更新sdk与应用图标管理平台交互以实现图标在线替换的几种示例性实现方式进行介绍。122.在第一种实现方式中,s650可以包括图7中的s650-1、s650-2和s650-3,可选地,还可以包括s650-4。123.s650-1,图标更新sdk向应用图标管理平台发送应用程序的图标请求。相应地,应用图标管理平台接收图标更新sdk发送的图标请求。可选地,该图标请求中可以携带应用程序的标识信息,例如携带应用程序的名称。124.s650-2,应用图标管理平台向图标更新sdk发送开发者为该应用程序设置的目标图标。相应地,图标更新sdk接收该目标图标。125.应用图标管理平台接收到图标请求之后,向图标更新sdk发送开发者为该应用程序设置的目标图标。开发者为该应用程序设置的目标图标的实现方式可以参考前述内容,此处不再赘述。126.s650-3,图标更新sdk调用电子设备的操作系统提供的图标管理接口,将该应用程序的图标设置为所述目标图标。127.本技术采用sdk直接调用底层系统接口的方式实现图标更新,解决了现有技术通过调用桌面管理程序(launcher)接口更新图标,但各厂家laucher版本不一致影响覆盖电子设备范围的问题。128.以android系统为例,图标更新sdk调用“packagemanager”方法的“setcomponente-nabledsetting”接口,将该应用程序的图标设置为所述目标图标。129.以ios系统为例,图标更新sdk调用“uiapplication”方法的“uialternateapplicationi-cons”分类,将该应用程序的图标设置为所述目标图标。130.s650-4,电子设备的操作系统为该应用程序设置所述目标图标后,向所述图标更新sdk返回设置结果。设置结果的一种示例为告知所述图标更新sdk图标设置成功。131.该实现方式中,可选地,在s650-2之后,在s650-3之前,图标更新sdk可以先判断应用程序的当前图标与目标图标是否一致。若一致,则执行s650-2及后续步骤;若不一致,则可以不执行s650-2及后续步骤,即应用程序不需要更新当前图标。132.在第二种实现方式中,s650可以包括图8中的s651-1、s651-2、s651-3、s651-4、s651-5和s651-6。133.s651-1,应用图标管理平台向图标更新sdk发送开发者为该应用程序设置的目标图标的标识信息。相应地,图标更新sdk接收应用图标管理平台发送的标识信息。134.应用图标管理平台接收到图标请求之后,可以获取开发者为该应用程序设置的目标图标的标识信息,并向图标更新sdk发送目标图标的标识信息,简称发送目标标识信息。135.s651-2,图标更新sdk判断电子设备的缓存中是否存在目标标识信息所指示的目标图标。若不存在,则执行s651-3,否则执行s651-4。136.可以理解的是,电子设备的缓存中可以为应用程序预存一个或多个备用图标以及备用图标与图标标识之间的映射关系,例如可以将应用程序之前使用过的图标和图标标识之间的映射关系保存下来。137.这样,图标更新sdk从应用图标管理平台接收目标标识信息之后,可以基于该映射关系查找是否存在该目标标识信息以及与该目标标识信息对应的目标图标。138.作为一种示例,可以使用安全散列算法(sha)计算图标文件的哈希值,例如使用sha计算图标文件的长度为256的哈希值(sha256),并将该哈希值作为图标的标识信息。139.备用图标以及备用图标与图标标识之间的映射关系的一个示例如表1所示。表1中,第一列为图标编号,为可选项;第二列为图标的名称,为可选项;第三列为图标的类型;第四列在后续内容中介绍;最后一列为图标的sha256标识信息。表1中备用图标的最大数量可以预先设置,例如可以通过应用图标管理平台来配置备用图标的最大数量。140.图标更新sdk可以基于表1确定电子设备的缓存是否包含目标标识信息对应的目标图标。141.表1图标的相关信息的映射表142.1pic1.png/data/picture/pic1.png否89198a……2pic2.png/data/picture/pic2.png否ada1a1……3pic3.png/data/picture/pic3.png是ada1a2……4pic4.png/data/picture/pic4.png否ada1a3……5pic5.png/data/picture/pic5.png否ada1a4……143.s651-3,图标更新sdk从图标管理平台获取目标标识信息所指示的目标图标。144.例如,图标更新sdk向图标管理平台发送下载请求消息,请求下载目标图标,该下载请求消息中可以携带目标标识信息;图标管理平台接收到下载请求消息之后,向图标更新sdk发送目标标识信息所指示的目标图标,相应地,图标更新sdk接收该目标图标。145.图标更新sdk接收到该目标图标之后,需要将该目标图标缓存在电子设备的缓存中,若电子设备缓存中备用图标的数量超过了最大预设值,则将最早存入的且当前并未使用的图标删除掉,存入该目标图标;若电子设备缓存中备用图标的数量未超过最大预设值,则直接保存该目标图标。146.s651-4,图标更新sdk判断应用程序的当前图标与目标图标是否一致。若不一致,则执行s651-5,否则执行s651-6。147.可以理解的是,电子设备的缓存中可以记录指示应用程序的当前图标的信息。例如,表1中的第四列用于指示对应图标是否为应用程序的当前图标,其中,“是”表示对应行的图标为当前图标,“否”表示对应行的图标不是当前图标。图标更新sdk基于表1可以确定目标图标是否为当前图标。148.s651-5,图标更新sdk调用电子设备的操作系统提供的图标管理接口,将该应用程序的图标设置为所述目标图标。149.或者可以说,图标更新sdk调用电子设备的操作系统提供的图标管理接口,将该应用程序的图标更新为目标图标。150.s651-6,图标更新sdk结束执行过程。151.本实现方式中,可选地,电子设备的操作系统为该应用程序设置所述目标图标后,向所述图标更新sdk返回设置结果。设置结果的一种示例为告知所述图标更新sdk图标设置成功。进一步地,图标更新sdk可以向图标管理平台返回该设置结果,以便于图标管理平台进行图标使用情况的统计。152.上述实施例及其两种实现方式虽然实现了在线图标替换,但是均采用被动更新的方式,依赖用户启动应用程序,触发对图标管理平台的调用,但是对实时更新要求较高的场景这两种方式则难以满足,因此下面介绍可以满足实时更新要求的实现方式。153.图9为本技术另一个实施例的电子设备的应用程序的图标在线替换方法的流程示意图。如图9所示,该方法可以包括s910、s920-1、s930、s940、s950、s960-1、s960-2、s960-3和s960-4。154.s910,开发者为应用程序设置目标图标。155.开发者为该应用程序设置的目标图标的实现方式可参考前述内容,此处不再赘述。156.s920-1,应用图标管理平台通过push通道向该应用程序推送图标更新消息。157.当开发者设置好目标图标,即完成图标更新之后,应用图标管理平台中采用推送(push)通道实现将图标更新消息下行推送到电子设备侧的应用程序,相应的,电子设备侧会收到图标更新消息,用户点击该消息后,应用程序则执行s930。158.图标更新消息的一种示例为告知电子设备中的应用程序其应用图标需要更新。159.本实施例中,应用图标管理平台主动向电子设备侧发送图标更新消息,节约了电子设备向应用图标管理平台发送应用程序图标请求的时间,提高了图标替换效率。160.s930,应用程序拉起集成的图标更新sdk。161.s940,图标更新sdk向应用程序返回响应。162.s950-1,图标更新sdk向应用图标管理平台发送应用程序的图标请求。相应地,应用图标管理平台接收图标更新sdk发送的图标请求。163.s950-2,应用图标管理平台向图标更新sdk发送开发者为该应用程序设置的目标图标。相应地,图标更新sdk接收该目标图标。164.s950-3,图标更新sdk调用电子设备的操作系统提供的图标管理接口,将该应用程序的图标设置为所述目标图标。165.s950-4,电子设备的操作系统为该应用程序设置所述目标图标后,向所述图标更新sdk返回设置结果。166.本实施例中,可选地,在s960-2之后,在s960-3之前,图标更新sdk可以先判断应用程序的当前图标与目标图标是否一致。若一致,则执行s960-2及后续步骤;若不一致,则可以不执行s960-2及后续步骤,即应用程序不需要更新当前图标。167.本实施例中,s930、s940、s950-1、s950-2、s950-3和s950-4可以参考s620、s630、s650-1、s650-2、s650-3和s650-4,这里不再赘述。168.图10所示实施例中与图9所示实施例中的相同附图标记表示相同或相似的含义,此处不再赘述。下面重点介绍图10所示实施例与图9所示实施例的不同之处。169.s920-2,应用图标管理平台通过websocket协议搭建的通道向该应用程序推送图标更新消息。170.本实施例中,开发者设置好目标图标之后,若此时应用程序已启动,则应用程序会接收到应用图标管理平台通过websocket协议搭建的通道主动推送的图标更新消息,然后拉起集成图标更新sdk。171.该实施例中,通过主动向应用程序推送图标更新消息,实现用户无感知情况下的应用程序更新图标,从而提高了图标更新效率,解决了实时性的问题。172.需要注意的是,开发者可在图标管理平台中选择通过push通道向该应用程序推送图标更新消息,或者是通过websocket协议搭建的通道向该应用程序推送图标更新消息。173.图11为本技术一个实施例提供的应用装置的结构示意图。图11所示的装置可以用于执行图6至图10中任一所述方法。如图11所示,本实施例的应用装置1100可以包括:接收模块1101、设置模块1102。174.例如,接收1101可以用于执行s650-2、s651-1、s950-2,设置模块1102可以用于执行s650-3、651-5、s950-3。175.可选地,装置1100还可以包括发送模块,以实现图6至图10中任一所述方法中相关功能。例如,发送模块可以用于实现图6至图10中任一所述方法中与发送相关的功能。176.图12为本技术一个实施例提供的应用图标管理装置的结构示意图。图12所示的装置可以用于执行图6至图10中任一所述方法。如图12所示,本实施例的应用装置1200可以包括:设置模块1201、发送模块1202。177.例如,设置模块1201可以用于执行s910,发送模块1202可以用于执行s650-2、s651-1、s950-2。178.可选地,装置1200还可以包括接收模块,以实现图6至图10中任一所述方法中相关功能。例如,接收模块可以用于实现图6至图10中任一所述方法中与接收相关的功能。179.图13为本技术另一个实施例提供的应用程序的图标更新装置的结构示意图。图13所示的装置可以用于执行前述任意一个实施例所述的应用程序的图标更新方法。180.如图13所示,本实施例的装置1300包括:存储器1301、处理器1302、通信接口1303以及总线1304。其中,存储器1301、处理器1302、通信接口1303通过总线1304实现彼此之间的通信连接。181.存储器1301可以是只读存储器(readonlymemory,rom),静态存储设备,动态存储设备或者随机存取存储器(randomaccessmemory,ram)。存储器1301可以存储程序,当存储器1301中存储的程序被处理器1302执行时,处理器1302用于执行图6至图10中任一所述方法的各个步骤。182.处理器1302可以采用通用的中央处理器(centralprocessingunit,cpu),微处理器,应用专用集成电路(applicationspecificintegratedcircuit,asic),或者一个或多个集成电路,用于执行相关程序,以实现本技术方法实施例的应用程序的图标更新方法。183.处理器1302还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,本技术实施例的应用程序的图标更新的方法的各个步骤可以通过处理器1302中的硬件的集成逻辑电路或者软件形式的指令完成。184.上述处理器1302还可以是通用处理器、数字信号处理器(digitalsignalprocessing,dsp)、专用集成电路(asic)、现成可编程门阵列(fieldprogrammablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。185.结合本技术实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1301,处理器1302读取存储器1301中的信息,结合其硬件完成本技术应用程序的图标更新装置包括的单元所需执行的功能,例如,可以执行图6至图10中任一所示实施例的各个步骤/功能。186.通信接口1303可以使用但不限于收发器一类的收发装置,来实现装置1300与其他设备或通信网络之间的通信。187.总线1304可以包括在装置1300各个部件(例如,存储器1301、处理器1302、通信接口1303)之间传送信息的通路。188.应理解,本技术实施例所示的装置1300可以是电子设备,或者,也可以是配置于电子设备中的芯片。189.应理解,本技术实施例中的处理器可以为中央处理单元(centralprocessingunit,cpu),该处理器还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(fieldprogrammablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。190.还应理解,本技术实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-onlymemory,rom)、可编程只读存储器(programmablerom,prom)、可擦除可编程只读存储器(erasableprom,eprom)、电可擦除可编程只读存储器(electricallyeprom,eeprom)或闪存。易失性存储器可以是随机存取存储器(randomaccessmemory,ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的随机存取存储器(randomaccessmemory,ram)可用,例如静态随机存取存储器(staticram,sram)、动态随机存取存储器(dram)、同步动态随机存取存储器(synchronousdram,sdram)、双倍数据速率同步动态随机存取存储器(doubledataratesdram,ddrsdram)、增强型同步动态随机存取存储器(enhancedsdram,esdram)、同步连接动态随机存取存储器(synchlinkdram,sldram)和直接内存总线随机存取存储器(directrambusram,drram)。191.上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令或计算机程序。在计算机上加载或执行所述计算机指令或计算机程序时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质。半导体介质可以是固态硬盘。192.应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况,其中a,b可以是单数或者复数。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系,但也可能表示的是一种“和/或”的关系,具体可参考前后文进行理解。193.本技术中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。194.应理解,在本技术的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。195.本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。196.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。197.在本技术所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。198.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。199.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。200.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。201.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本
技术领域
:的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1