CN116156259A - 显示设备及主页替换方法 - Google Patents
显示设备及主页替换方法 Download PDFInfo
- Publication number
- CN116156259A CN116156259A CN202211741416.XA CN202211741416A CN116156259A CN 116156259 A CN116156259 A CN 116156259A CN 202211741416 A CN202211741416 A CN 202211741416A CN 116156259 A CN116156259 A CN 116156259A
- Authority
- CN
- China
- Prior art keywords
- application
- value
- homepage
- attribute
- home
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/443—OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
- H04N21/4432—Powering on the client, e.g. bootstrap loading using setup parameters being stored locally or received from the server
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/431—Generation of visual interfaces for content selection or interaction; Content or additional data rendering
- H04N21/4312—Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/443—OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
- H04N21/4438—Window management, e.g. event handling following interaction with the user interface
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/8166—Monomedia components thereof involving executable data, e.g. software
- H04N21/8173—End-user applications, e.g. Web browser, game
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Stored Programmes (AREA)
Abstract
本申请实施例提供了一种显示设备及主页替换方法,涉及数据处理技术领域。该显示设备包括控制器,被配置为:在扫描数据分区中的安卓安装包APK过程中,若确定替换主页功能开启且配置了主页应用,则在扫描到所述主页应用的情况下,为所述主页应用添加主页HOME属性,将预设变量的值设置为第一预设值,以及删除所述主页应用以外的其它应用的HOME属性;在完成所述数据分区的APK的扫描后,若确定配置了主页应用,则将所述主页应用的直接启动模式属性的值设置为真;在完成全部的APK扫描后,判断预设变量的值为第一预设值时,则将具有HOME属性且直接启动模式属性的值为真的应用作为主页应用启动。本申请实施例用于解决在需要替换大量机器主页时操作繁琐的问题。
Description
技术领域
本申请实施例涉及数据处理技术领域。更具体地讲,涉及一种显示设备及主页替换方法。
背景技术
目前,Android电视的主页想要替换成第三方应用主页只能通过重新编译ROM刷机或空中下载技术(Over-the-Air Technology,OTA),另外在Android的直接启动模式属性(direct Boot Aware)机制下手动安装的主页应用开机完成之前是无法启动的,而且还需要人工手动选择默认主页(因为安装第三方主页后存在双主页,所以需要选择一个默认主页)。如果需要替换主页的机器数量少,人工操作是十分方便的,但是如果是大批量机器需要替换,就需要人工手动调试每一台机器,十分繁琐,同时还增加了人力和时间成本。
发明内容
本申请示例性的实施方式提供一种显示设备及主页替换方法,用于解决在需要替换大量机器主页时操作繁琐的问题,节约时间与人工成本。
本申请实施例提供技术方案如下:
第一方面,本申请实施例提供了一种显示设备,包括:
控制器,被配置为:
在扫描数据分区中的安卓安装包APK过程中,若确定替换主页功能开启且配置了主页应用,则在扫描到所述主页应用的情况下,为所述主页应用添加主页HOME属性,将预设变量的值设置为第一预设值,以及删除所述主页应用以外的其它应用的HOME属性;
在完成所述数据分区的APK的扫描后,若确定配置了主页应用,则将所述主页应用的直接启动模式属性的值设置为真;
在完成全部APK的扫描后,判断所述预设变量的值是否为所述第一预设值;
若所述预设变量的值为所述第一预设值,则将具有HOME属性且直接启动模式属性的值为真的应用作为主页应用启动。
第二方面,本申请实施例提供了一种主页替换方法,包括:
在扫描数据分区中的安卓安装包APK过程中,若确定替换主页功能开启且配置了主页应用,则在扫描到所述主页应用的情况下,为所述主页应用添加主页HOME属性,将预设变量的值设置为第一预设值,以及删除所述主页应用以外的其它应用的HOME属性;
在完成所述数据分区的APK的扫描后,若确定配置了主页应用,则将所述主页应用的直接启动模式属性的值设置为真;
在完成全部APK的扫描后,判断所述预设变量的值是否为所述第一预设值;
若所述预设变量的值为所述第一预设值,则将具有HOME属性且直接启动模式属性的值为真的应用作为主页应用启动。
第三方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,当所述计算机程序被计算设备执行时,使得所述计算设备实现第一方面任一实施例项所述的主页替换方法。
第四方面,本发明提供了一种计算机程序产品,当计算机程序产品在计算机上运行时,使得所述计算机实现第二方面或第二方面任一实施例所述的主页替换方法。
由以上技术方案可知,本申请实施例提供的显示设备和主页替换方法,通过控制器在扫描数据分区中的安卓安装包APK过程中,若确定替换主页功能开启且配置了主页应用,则在扫描到所述主页应用的情况下,为所述主页应用添加主页HOME属性,将预设变量的值设置为第一预设值,以及删除所述主页应用以外的其它应用的HOME属性;在完成所述数据分区的APK的扫描后,若确定配置了主页应用,则将所述主页应用的直接启动模式属性(direct Boot Aware)的值设置为真;在完成全部APK的扫描后,判断所述预设变量的值是否为所述第一预设值;若所述预设变量的值为所述第一预设值,则将具有HOME属性且直接启动模式属性的值为真的应用作为主页应用启动。与现有技术相比,Android电视的主页想要替换成第三方主页只能通过重新编译ROM刷机或OTA,另外在Android的direct BootAware机制下手动安装的主页应用开机完成之前是无法启动的,而且还需要手动选择默认主页,本申请提供的技术方案通过设置主页应用的HOME属性,以及主页应用的直接启动模式属性(direct Boot Aware)的值,在所述预设变量的值是否为所述第一预设值的情况下,可以在控制器扫描过程中,自动将主页应用替换为符合具有HOME属性且直接启动模式属性的值为真的应用作为主页应用启动,因此,本申请实施例能够自动完成应用的主页替换,在大量设备需要替换主页时,无需用户手动操作,节省时间与人工成本。
附图说明
为了更清楚地说明本申请实施例或相关技术中的实施方式,下面将对实施例或相关技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1示出了本发明实施例提供的主页替换方法的场景架构图;
图2示出了本发明实施例提供的控制设备的硬件配置框图;
图3示出了本发明实施例提供的显示设备的硬件配置框图;
图4示出了本发明实施例提供的显示设备中软件配置图;
图5示出了本发明实施例提供的一种主页替换方法的场景示意图;
图6示出了本发明实施例提供的另一种主页替换方法的步骤流程图;
图7示出了本发明实施例提供的一种主页替换方法的步骤流程图;
图8示出了本发明实施例提供的另一种主页替换方法的步骤流程图;
图9示出了本发明实施例提供的另一种主页替换方法的步骤流程图;
图10示出了本发明实施例提供的另一种主页替换方法的步骤流程图;
图11示出了本发明实施例提供的另一种主页替换方法的步骤流程图;
图12示出了本发明实施例提供的另一种主页替换方法的步骤流程图;
图13示出了本发明实施例提供的另一种主页替换方法的步骤流程图。
具体实施方式
为使本申请的目的和实施方式更加清楚,下面将结合本申请示例性实施例中的附图,对本申请示例性实施方式进行清楚、完整地描述,显然,描述的示例性实施例仅是本申请一部分实施例,而不是全部的实施例。
需要说明的是,本申请中对于术语的简要说明,仅是为了方便理解接下来描述的实施方式,而不是意图限定本申请的实施方式。除非另有说明,这些术语应当按照其普通和通常的含义理解。
术语“包括”和“具有”以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的所有组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。
图1为本申请实施例提供的显示设备的控制方法的场景架构示意图。如图1所示,本申请实施例提供的场景架构,包括:控制设备100、显示设备200以及服务器300。
本申请实施例提供的显示设备可以具有多种实施形式,例如,显示设备可以为电视、具有显示功能的智能音箱冰箱、具有显示功能的窗帘、个人计算机(PersonalComputer,PC)、激光投影设备、显示器(monitor)、电子白板(electronic bulletinboard)、可穿戴设备、车载设备、电子桌面(electronic table)等。
在一些实施例中,控制设备100可以是遥控器,遥控器和显示设备的通信包括红外协议通信或蓝牙协议通信,及其他短距离通信方式,通过无线或有线方式来控制显示设备。用户可以通过遥控器上按键、语音输入、控制面板输入等输入用户指令,来控制显示设备。
在一些实施例中,控制设备100可以是也可以是终端设备。例如:终端设备可是手机、平板电脑、计算机、笔记本电脑等移动终端。
在一些实施例中,显示设备还可以采用除了控制设备之外的方式进行控制,例如,可以通过显示设备内部配置的接收用户选择模块直接接收用户的选择操作。
在一些实施例中,显示设备还可以与服务器300进行数据通信,以从服务器300获取相关媒体资源。可允许显示设备通过局域网(LAN)、无线局域网(WLAN)与服务器进行通信连接。服务器可300以向显示设备提供媒体资源服务和各种内容和互动。服务器300可以是一个集群,也可以是多个集群,可以包括一类或多类服务器。
图2示例性示出了图1所示实施例中的控制设备100的配置框图。如图2所示,控制设备100包括控制器110、通信接口130、用户接口140、存储器、供电电源。控制设备100可接收用户输入的操作指令,且将操作指令转换为显示设备可识别和响应的指令,以及操作指令或转换语音指令得到的指令转发至显示设备,起到用户与显示设备之间交互中介作用。
如图3,显示设备包括调谐解调器210、通信器220、检测器230、外部装置接口240、控制器250、显示器260、音频输出接口270、存储器、供电电源、用户接口280中的至少一种。
在一些实施例中控制器250包括处理器,视频处理器,音频处理器,图形处理器,RAM,ROM,用于输入/输出的第一接口至第n接口。
显示器260包括用于呈现画面的显示屏组件,以及驱动图像显示的驱动组件,用于接收源自控制器输出的图像信号,进行显示视频内容、图像内容以及菜单操控界面的组件以及用户操控UI界面。
显示器260可为液晶显示器、OLED显示器、以及投影显示器,还可以为一种投影装置和投影屏幕。
通信器220是用于根据各种通信协议类型与外部设备或服务器进行通信的组件。例如:通信器可以包括Wifi模块,蓝牙模块,有线以太网模块等其他网络通信协议芯片或近场通信协议芯片,以及红外接收器中的至少一种。显示设备可以通过通信器220与外部控制设备100或服务器400建立控制信号和数据信号的发送和接收。
用户接口,可用于接收用户通过控制设备100(如:红外遥控器等)或触摸或者手势等输入的控制信号。
检测器230用于采集外部环境或与外部交互的信号。例如,检测器230包括光接收器,用于采集环境光线强度的传感器;或者,检测器230包括图像采集器,如摄像头,可以用于采集外部环境场景、用户的属性或用户交互手势,再或者,检测器230包括声音采集器,如麦克风等,用于接收外部声音。
外部装置接口240可以包括但不限于如下:高清多媒体接口(HDMI)、模拟或数据高清分量输入接口(分量)、复合视频输入接口(CVBS)、USB输入接口(USB)、RGB端口等任一个或多个接口。也可以是上述多个接口形成的复合性的输入/输出接口。
调谐解调器210通过有线或无线接收方式接收广播电视信号,以及从多个无线或有线广播电视信号中解调出音视频信号,如以及EPG数据信号。
在一些实施例中,控制器250和调谐解调器210可以位于不同的分体设备中,即调谐解调器210也可在控制器250所在的主体设备的外置设备中,如外置机顶盒等。
控制器250,通过存储在存储器上中各种软件控制程序,来控制显示设备的工作和响应用户的操作。控制器250控制显示设备的整体操作。例如:响应于接收到用于选择在显示器260上显示UI对象的用户命令,控制器250便可以执行与由用户命令选择的对象有关的操作。
在一些实施例中控制器包括中央处理器(Central Processing Unit,CPU),视频处理器,音频处理器,图形处理器(Graphics Processing Unit,GPU),RAM Random AccessMemory,RAM),ROM(Read-Only Memory,ROM),用于输入/输出的第一接口至第n接口,通信总线(Bus)等中的至少一种。
用户可在显示器260上显示的图形用户界面(GUI)输入用户命令,则用户接口通过图形用户界面(GUI)接收用户输入命令。或者,用户可通过输入特定的声音或手势进行输入用户命令,则用户接口通过传感器识别出声音或手势,来接收用户输入命令。
“用户界面”,是应用程序或操作系统与用户之间进行交互和信息交换的介质接口,它实现信息的内部形式与用户可以接受形式之间的转换。用户界面常用的表现形式是图形用户界面(Graphic User Interface,GUI),是指采用图形方式显示的与计算机操作相关的用户界面。它可以是在电子设备的显示屏中显示的一个图标、窗口、控件等界面元素,其中控件可以包括图标、按钮、菜单、选项卡、文本框、对话框、状态栏、导航栏、Widget等可视的界面元素。
在一些实施例中,显示设备控制器250,被配置为在扫描数据分区中的安卓安装包APK过程中,若确定替换主页功能开启且配置了主页应用,则在扫描到所述主页应用的情况下,为所述主页应用添加主页HOME属性,将预设变量的值设置为第一预设值,以及删除所述主页应用以外的其它应用的HOME属性;在完成所述数据分区的APK的扫描后,若确定配置了主页应用,则将所述主页应用的直接启动模式属性的值设置为真;在完成全部APK的扫描后,判断所述预设变量的值是否为所述第一预设值;若所述预设变量的值为所述第一预设值,则将具有HOME属性且直接启动模式属性的值为真的应用作为主页应用启动。
在一些实施例中,控制器250具体被配置在安装包管理服务中调用意图解析工具扫描应用清单前,判断支持替换主页功能属性的值是否为1;若是,则确定替换主页功能开启;若否,则确定替换主页功能关闭。为。
在一些实施例中,控制器250还被配置为在确定替换主页功能关闭的情况下,调用所述意图解析工具扫描所述应用清单,以确定所述数据分区中的APK对应的应用是否具有所述HOME属性,以及将所述数据分区中的APK对应的应用的直接启动模式属性的值设置为假。
在一些实施例中,控制器250还被配置为判断主页应用安装包名称属性是否有值;若是,则确定配置了主页应用;若否,则确定未配置主页应用。
在一些实施例中,控制器250还被配置为在确定未配置主页应用的情况下,调用所述意图解析工具扫描所述应用清单,以确定所述数据分区中的APK对应的应用是否具有所述HOME属性,以及将所述数据分区中的APK对应的应用的直接启动模式属性的值设置为假。
在一些实施例中,控制器250还被配置为在扫描到所述主页应用的情况下,为所述主页应用添加主页HOME属性,将sHasThirdHOME的值设置为真,以及删除所述主页应用以外的其它应用的HOME属性。
在一些实施例中,控制器250还被配置为若所述预设变量的值不为所述第一预设值,则还原删除了所述HOME属性的应用的HOME属性。
在一些实施例中,控制器250还被配置为在业务管理服务启动主页时,根据安装包管理服务的扫描结果查找并返回具有HOME属性且直接启动模式属性的值为真的应用的安装包信息;启动所述安装包信息对应的应用,以将具有HOME属性且直接启动模式属性的值为真的应用作为主页应用启动。
在一些实施例中,控制器250还被配置为在扫描所述数据分区中的APK之前,扫描系统分区和供应商vendor分区中的APK。
参见图4,在一些实施例中,将显示设备的操作系统分为两部分,应用层和原生层,应用层为应用程序(Applications)层(简称“应用层”),原生层从上至下,分别为原生应用程序框架(Application Framework)层(简称“框架层”),安卓运行时(Android runtime)和系统库层(简称“系统运行库层”),以及内核层。
在一些实施例中,应用程序层中运行有至少一个应用程序,这些应用程序可以是操作系统自带的窗口(Window)程序、系统设置程序或时钟程序等;也可以是第三方开发者所开发的应用程序。在具体实施时,应用程序层中的应用程序包不限于以上举例。
框架层为应用程序提供应用编程接口(application programming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。应用程序框架层相当于一个处理中心,这个中心决定让应用层中的应用程序做出动作。应用程序通过API接口,可在执行中访问系统中的资源和取得系统的服务。
如图4所示,本申请实施例中应用程序框架层包括管理器(Managers),内容提供者(Content Provider)等,其中管理器包括以下模块中的至少一个:活动管理器(ActivityManager)用与和系统中正在运行的所有活动进行交互;位置管理器(Location Manager)用于给系统服务或应用提供了系统位置服务的访问;文件包管理器(Package Manager)用于检索当前安装在设备上的应用程序相关的各种信息;通知管理器(Notification Manager)用于控制通知消息的显示和清除;窗口管理器(Window Manager)用于管理用户界面上的图标、窗口、工具栏、壁纸和桌面部件。
在一些实施例中,活动管理器用于管理各个应用程序的生命周期以及通常的导航回退功能,比如控制应用程序的退出、打开、后退等。窗口管理器用于管理所有的窗口程序,比如获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕,控制显示窗口变化(例如将显示窗口缩小显示、抖动显示、扭曲变形显示等)等。
在一些实施例中,系统运行库层为上层即框架层提供支撑,当框架层被使用时,安卓操作系统会运行系统运行库层中包含的C/C++库以实现框架层要实现的功能。
在一些实施例中,内核层是硬件和软件之间的层。如图4所示,内核层至少包含以下驱动中的至少一种:音频驱动、显示驱动、蓝牙驱动、摄像头驱动、WIFI驱动、USB驱动、HDMI驱动、传感器驱动(如指纹传感器,温度传感器,压力传感器等)、以及电源驱动等。
图5示例性的示出了现有技术中的Android设备开机启动主页应用的整体框架图,该框架包括:
Apps层:包括多种应用,例如:浏览器、桌面启动器、电子邮件等应用程序。
Java层:包括系统服务(System Server)进程,它是Android系统的核心之一,大部分Android提供的服务都在该进程中,系统服务(System Server)中运行的进程公共有六十多种,例如,安装包管理服务(Package Manager Service)和业务管理服务(ActivityManager Service)等系统服务。
C++层:包括一些本地服务和一些链接库等,例如:媒体服务器等本地服务,可以通过C++语言实现底层硬件驱动交互。
Kernal层:Kernal层为操作系统内核,是指大多数操作系统的核心部分,它由操作系统中用于管理存储器、文件、外设和系统资源的那些部分组成。操作系统内核通常运行进程,并提供进程间的通信。Kernel层用来事件的调度和同步、进程间的通信(消息传递)、存储器管理、进程管理。
Loader层:包括了Boot Rom进程执行引导加载程序的工作与BootLoader进程可以初始化硬件设备。
结合图5,参照图6所示,基于图5的启动主页应用的方法步骤包括以下S601至S606:
S601、加载引导程序BootLoader到RAM,执行BootLoader。
其中,引导芯片代码会从Boot Rom开始执行。
S602、启动Kernel。
S603、启动Init进程进入用户空间。
上述S603在启动Kernel完成线之后,启动Init进程进入用户空间,就表示设备从此时开始进入Android。在启动Init进程后,Android系统会进行一系列初始化。
S604、启动Zygote进程,初始化Android虚拟机并创建Android的系统服务进程。
其中,Init进程启动后会进行一系列初始化动作,然后所述Zygote进程是Android中的一个非常重要的守护进程服务(Daem Service),负责孵化其他的安卓进程,Zygote进程最大意义是作为一个Socket的Server端,接收着四面八方的进程创建请求,Android中所有的应用进程的创建都是一个应用进程通过Binder请求系统服务(SystemServer)进程,系统服务(SystemServer)进程发送Socket消息给Zygote进程,统一由Zygote进程创建出来的;Zygote是Android Java世界的入口,Android所有的Java进程都是由Zygote创建的。
S605、启动系统服务进程。
S606、启动核心服务。
其中,最重要的核心服务就是安装包管理服务(Package Manager Service)和业务管理服务(Activity Manager Service),当这些核心服务启动并初始化完成后就可以启动主页,在业务管理服务(Activity Manager Service)中触发了system Ready后就会调用Activity Task Manager Service中的start HOME On All Displays启动主页,此处启动的主页应用是在Android Manifest.xml中配置了“Android.intent.category.HOME”属性的应用。
需要说明的是,Android系统会依靠安装包管理服务(Package Manager Service)判断多个应用是否包含HOME属性,在安装包管理服务(Package Manager Service)中以resolve Intent的方法获取当前的应用的HOME属性,而在这里会根据HOME属性去已经扫描过的应用中查询,如果查询到满足HOME属性还会判断是否有直接启动模式属性(directBoot Aware)属性,如果有则返回该应用包信息,继而启动主页。
在一些实施例中,现有技术中,在上述S606启动核心服务之后,Android设备开机阶段对安卓安装包APK的扫描过程包括如下步骤1至步骤3:
步骤1、开机后系统服务(System Server)进程启动安装包管理服务(PackageManager Service)后就开始进入扫描安卓安装包APK的流程。
其中,上述安装包管理服务(Package Manager Service)可以分为两步:
1、扫描system/vendor/product/odm/oem分区下的Apps(系统预置应用)。
2、扫描data分区下的Apps(开机之后用户安装的应用)。
步骤2、安装包管理服务(Package Manager Service)扫描上述分区下的所有APK包,通过意图解析工具(Parallel Package Parser)解析扫描目录下的包,其中会调用到Parsed Intent InfoUtils工具类去解析APK包中的Android Manifest.xml。
其中,还包括解析应用的Intent,如下如果存在“Android.intent.category.HOME”属性,就说明这是一个Launcher应用,所述Launcher应用为安卓系统中的桌面启动器,安装包管理服务(Package Manager Service)会将所有的扫描结果存储起来供其他服务查询。
步骤3、扫描完成后,会继续执行安装包管理服务(Package Manager Service)中的apply Policy方法,在这之中会区分除预置应用和非预置应用,对于非预置应用(即data/app下安装的应用)强制将其直接启动模式属性(direct Boot Aware)设置为false。
在一些实施例中,所述直接启动模式属性(direct Boot Aware)是在Android7.0之后出现的,当Android设备已经正常开机但用户尚未解锁设备。默认情况下,应用不会在“直接引导”模式下运行;对于Android电视来说,在此模式下系统没有启动完成之前除主页外是不允许其他应用启动的,如果想要启动其他应用程序,需要在Android manifest(manifest是一种软件,属于Android manifest.xml文件,在简单的Android系统的应用中提出了重要的信息,它可以运行任何应用程序的代码)中将直接启动模式属性(directBoot Aware)的值设置为真,示例性的,可以直接在Android manifest代码中加入代码:android:direct Boot Aware=true;而且只能是系统预置应用才可以,如果非预置的第三方应用即使携带了此属性也是没有作用的,因为系统在扫包这一过程中会强制将非预置应用的直接启动模式属性(direct Boot Aware)的值设置为假(false)。
综上所述,正常情况下开机进入主页,主页应用自身需要满足以下三个条件:
条件1、主页是预置应用(此处的原因是非预置应用会被强制去掉直接启动模式属性direct Boot Aware)。
条件2、主页应用自带HOME属性。
条件3、主页应用带有直接启动模式属性(direct Boot Aware),即主页应用直接启动模式属性(direct Boot Aware)的值为真(true)。
在上述现有的主页替换的方法的基础上,图7示例性的示出了本申请实施例提供的主页替换方法的流程示意图,如图7所示,本申请实施例提供的主页替换方法包括如下步骤:
在一些实施例中,在扫描数据分区中的安卓安装包APK过程中,若确定替换主页功能开启且配置了主页应用,则在扫描到所述主页应用的情况下,执行如下S701至S704:
S701、为所述主页应用添加主页HOME属性,将预设变量的值设置为第一预设值,以及删除所述主页应用以外的其它应用的HOME属性。
在一些实施例中,所述APK为Android应用程序包,Android应用程序包(Androidapplication package,APK)是Android操作系统使用的一种应用程序包文件格式,用于分发和安装移动应用及中间件。一个Android应用程序的代码想要在Android设备上运行,必须先进行编译,然后被打包成为一个被Android系统所能识别的文件才可以被运行,而这种能被Android系统识别并运行的文件格式便是“APK”。
其中,所述HOME属性用于指定进入应用程序后显示的第一个页面,即用来定义当前应用程序打开时所显示的界面。所述预设变量为第一预设值,则表示系统存在所述主页应用。
在一些实施例中,替换主页功能开启后,为替换主页的主页应用添加主页HOME属性,删除所述主页应用以外的其他应用的HOME属性,系统就会根据应用是否有HOME属性进行判断,为后续启动目标主页应用奠定基础。
在上述S701中的在扫描所述数据分区中的APK之前,还需要扫描系统分区和供应商vendor分区中的APK。
在一些实施例中,Android通常有Data分区,用来装APK的分区;系统(System)分区,存放了安卓系统和系统应用,用来刷ROM的分区;供应商vendor分区包含了开发厂商定制的应用与库文件;还包括Catch分区,用于缓存文件;SD Card分区,用于挂载SD卡。
S702、在完成所述数据分区的APK的扫描后,若确定配置了主页应用,则将所述主页应用的直接启动模式属性的值设置为真。
其中,在一些实施例中,所述主页应用的直接启动模式属性(direct Boot Aware)的值设置为真表示在用户启动包含所述主页应用的设备时,所述主页应用将会直接启动,无需用户进行操作。
S703、在完成全部APK的扫描后,判断所述预设变量的值是否为所述第一预设值。
在一些实施例中,所述预设变量的值为所述第一预设值可以表示在扫描后,系统存在所述主页应用,所述预设变量的值不是所述第一预设值时,表示在扫描时,未发现所述主页应用。
S704、若所述预设变量的值为所述第一预设值,则将具有HOME属性且直接启动模式属性的值为真的应用作为主页应用启动。
在一些实施例中,所述预设变量的值为所述第一预设值,表示系统存在所述主页应用,则将具有HOME属性且直接启动模式属性的值为真的应用作为主页应用启动。
由以上技术方案可知,本申请实施例提供的显示设备和主页替换方法,通过控制器在扫描数据分区中的安卓安装包APK过程中,若确定替换主页功能开启且配置了主页应用,则在扫描到所述主页应用的情况下,为所述主页应用添加主页HOME属性,将预设变量的值设置为第一预设值,以及删除所述主页应用以外的其它应用的HOME属性;在完成所述数据分区的APK的扫描后,若确定配置了主页应用,则将所述主页应用的直接启动模式属性(direct Boot Aware)的值设置为真;在完成全部APK的扫描后,判断所述预设变量的值是否为所述第一预设值;若所述预设变量的值为所述第一预设值,则将具有HOME属性且直接启动模式属性的值为真的应用作为主页应用启动。与现有技术相比,Android电视的主页想要替换成第三方主页只能通过重新编译ROM刷机或OTA,另外在Android的的直接启动模式属性(direct Boot Aware)机制下手动安装的主页应用开机完成之前是无法启动的,而且还需要手动选择默认主页,本申请提供的技术方案通过设置主页应用的HOME属性,以及主页应用的直接启动模式属性(direct Boot Aware)的值,在所述预设变量的值是否为所述第一预设值的情况下,可以在控制器扫描过程中,自动将主页应用替换为符合具有HOME属性且直接启动模式属性的值为真的应用作为主页应用启动,因此,本申请实施例能够自动完成应用的主页替换,在大量设备需要替换主页时,无需用户手动操作,节省时间与人工成本。
作为上述实施例的扩展与细化,上述执行S501之前,还需要在扫描数据分区中的安卓安装包APK过程中,确定替换主页功能开启,以及配置了主页应用之后,在扫描到所述主页应用的情况下,才能执行上述S701至S704,参照图8所示,确定替换主页功能是否开启的方法包括:
在安装包管理服务(Package Manager Service)中调用意图解析工具(ParsedIntent Info Utils)扫描应用清单(Android Manifest.xml)前,执行如下步骤:
S801、判断支持替换主页功能属性的值是否为1。
在一些实施例中,所述支持替换主页功能属性(persist.sys.support_3rd_HOME)的值表示替换主页的开启或关闭。
S802、若是,则确定替换主页功能开启。
在一些实施例中,若支持替换主页功能属性(persist.sys.support_3rd_HOME)的值是为1,则确定替换主页功能开启。
S803、若否,则确定替换主页功能关闭。
在一些实施例中,若支持替换主页功能属性(persist.sys.support_3rd_HOME)的值是不为1,则确定替换主页功能关闭。
在一些实施例中,上述S803(若否,则确定替换主页功能关闭)之后,系统入正常的Android设备开机阶段APK的扫描过程,参照图9所示,在确定替换主页功能关闭的情况下,该替换主页的方法包括以下S804和S805:
S804、调用所述意图解析工具扫描所述应用清单,以确定所述数据分区中的APK对应的应用是否具有所述HOME属性。
在一些实施例中,所述意图解析工具(Parallel Package Parser)可以处理多线程任务,通过并行处理来同时对多个APK文件来进行解析。
S805、将所述数据分区中的APK对应的应用的直接启动模式属性的值设置为假。
在一些实施例中,所述数据分区中APK对应的应用为非预置应用即Android设备的所有第三方应用,上述已经确定了替换主页功能关闭,则无需直接启动任一第三方应用,所以将所述数据分区中APK对应的应用为非预置应用直接启动模式属性的值设置为假。
作为上述实施例的扩展与细化,上述执行S701之前,还需要在扫描数据分区中的安卓安装包APK过程中,确定替换主页功能开启,以及配置了主页应用之后,在扫描到所述主页应用的情况下,才能执行上述S701至S704,参照图10所示,确定是否配置了主页应用的方法包括:
S1001、判断主页应用安装包名称属性是否有值。
在一些实施例中所述主页应用安装包名称属性(persist.sys.3rd_packagename)是表示当前Android设备是否配置了需要将原主页应用替换成当前应用所属的主页应用。
S1002、若是,则确定配置了主页应用。
在一些实施例中,主页应用安装包名称属性(persist.sys.3rd_package name)有值,表示当前Android设备配备了需要将原主页应用替换成当前应用所属的主页应用。
S1003、若否,则确定未配置主页应用。
在一些实施例中,主页应用安装包名称属性(persist.sys.3rd_package name)没有值,表示当前Android设备没有配备了需要将原主页应用替换成当前应用所属的主页应用。
在一些实施例中,上述S1003(若否,则确定未配置主页应用)之后,系统入正常的扫描流程,参照图11所示,在确定未配置主页应用的情况下,该替换主页的方法包括以下S1004和S1005:
S1004、调用所述意图解析工具扫描所述应用清单,以确定所述数据分区中的APK对应的应用是否具有所述HOME属性。
在一些实施例中,所述意图解析工具(Parallel Package Parser)可以处理多线程任务,通过并行处理来同时对多个APK文件来进行解析。
S1005、将所述数据分区中的APK对应的应用的直接启动模式属性的值设置为假。
在一些实施例中,所述数据分区中APK对应的应用为非预置应用即Android设备的所有第三方应用,上述已经确定未配置主页应用,则不存在需要替换的主页应用,无需直接启动任一第三方应用,所以将所述数据分区中APK对应的应用为非预置应用直接启动模式属性的值设置为假。
作为上述实施例的扩展与细化,图12示例性的示出了本申请实施例提供的主页替换方法的流程示意图,如图12所示,本申请实施例提供的主页替换方法包括以下步骤:
S1201、为所述主页应用添加主页HOME属性,将预设变量的值设置为第一预设值,以及删除所述主页应用以外的其它应用的HOME属性。
其中,所述预设变量表示为sHasThirdHome,将sHasThirdHome的值设置为第一预设值,所述第一预设值为真。
S1202、在完成所述数据分区的APK的扫描后,若确定配置了主页应用,则将所述主页应用的直接启动模式属性的值设置为真。
S1203、在完成全部APK的扫描后,判断所述预设变量的值是否为所述第一预设值。
S1204、若所述预设变量的值为所述第一预设值,则将具有HOME属性且直接启动模式属性的值为真的应用作为主页应用启动。
在上述S1204中,所述将具有HOME属性且直接启动模式属性的值为真的应用作为主页应用启动还包括以下步骤A和步骤B:
步骤A、在业务管理服务(ActivityManagerService)启动主页时,根据安装包管理服务的扫描结果查找并返回具有HOME属性且直接启动模式属性的值为真的应用的安装包信息。
步骤B、启动所述安装包信息对应的应用,以将具有HOME属性且直接启动模式属性的值为真的应用作为主页应用启动。
S1205、若所述预设变量的值不为所述第一预设值,则还原删除了所述HOME属性的应用的HOME属性。
在一些实施例中,若所述预设变量的值不为所述第一预设值,则表示在APK扫描之后,未找到主页应用,此时需要将原本的其他具有HOME属性的应用的HOME属性还原,避免开机之后找不到主页。
结合上述所有实施例,参照图13所示,为本申请提供的主页替换方法的整体流程图,该主页替换方法包括以下步骤:
S1301、加载引导程序BootLoader到RAM,执行BootLoader。
S1302、启动Kernel。
S1303、启动Init进程进入用户空间。
S1304、启动Zygote进程,初始化Android虚拟机并创建建Android的系统服务进程。
S1305、启动系统服务进程。
S1306、启动核心服务:安装包管理服务、业务管理服务。
S1307、扫描系统分区和供应商vendor分区中的APK。
S1308、扫描数据分区中的安卓安装包APK。
S1309、判断支持替换主页功能属性的值是否为1。
在上述S1309中,若支持替换主页功能属性(persist.sys.support_3rd_HOME)的值是不为1,则执行如下S1310;若支持替换主页功能属性(persist.sys.support_3rd_HOME)的值是为1,则执行如下S1311和S1312:
S1310、确定替换主页功能关闭。
在上述S1310(确定替换主页功能关闭),还需要执行下述S1312和S1314。
S1311、确定替换主页功能开启。
S1312、判断主页应用安装包名称属性有值。
在上述S1312中,若主页应用安装包名称属性(persist.sys.3rd_packagename)没有值,则执行如下S1313至S1315:
S1313、确定未配置应用主页。
S1314、调用所述意图解析工具扫描所述应用清单,以确定所述数据分区中的APK对应的应用是否具有所述HOME属性。
S1315、将所述数据分区中的APK对应的应用的直接启动模式属性的值设置为假。
在上述S1317执行完成后,还需要执行下述S1322至S1324。
若主页应用安装包名称属性(persist.sys.3rd_packagename)有值,则执行如下S1316和S1318:
S1316、若是,确定未配置应用主页。
S1317、为所述主页应用添加主页HOME属性,将预设变量的值设置为第一预设值,以及删除所述主页应用以外的其它应用的HOME属性。
S1318、完成所述数据分区的APK的扫描。
S1319、将所述主页应用的直接启动模式属性(direct Boot Aware)的值设置为真。
S1320、完成全部APK的扫描。
S1321、判断所述预设变量的值是否为所述第一预设值。
S1322、若是,在业务管理服务ActivityManagerService启动主页时,根据安装包管理服务的扫描结果查找并返回具有HOME属性且直接启动模式属性的值为真的应用的安装包信息。
S1323、启动所述安装包信息对应的应用,以将具有HOME属性且直接启动模式属性的值为真的应用作为主页应用启动。
S1324、若否还原删除了所述HOME属性的应用的HOME属性。
在一些实施例中,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,当所述计算机程序被计算设备执行时,使得所述计算设备实现上述任一实施例所述的主页替换方法。
在一些实施例中,本申请实施例提供了一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机实现第二方面或第二方面任一实施例所述的主页替换方法。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
为了方便解释,已经结合具体的实施方式进行了上述说明。但是,上述示例性的讨论不是意图穷尽或者将实施方式限定到上述公开的具体形式。根据上述的教导,可以得到多种修改和变形。上述实施方式的选择和描述是为了更好的解释原理以及实际的应用,从而使得本领域技术人员更好的使用所述实施方式以及适于具体使用考虑的各种不同的变形的实施方式。
Claims (10)
1.一种显示设备,其特征在于,包括:控制器,被配置为:
在扫描数据分区中的安卓安装包APK过程中,若确定替换主页功能开启且配置了主页应用,则在扫描到所述主页应用的情况下,为所述主页应用添加主页HOME属性,将预设变量的值设置为第一预设值,以及删除所述主页应用以外的其它应用的HOME属性;
在完成所述数据分区的APK的扫描后,若确定配置了主页应用,则将所述主页应用的直接启动模式属性的值设置为真;
在完成全部APK的扫描后,判断所述预设变量的值是否为所述第一预设值;
若所述预设变量的值为所述第一预设值,则将具有HOME属性且直接启动模式属性的值为真的应用作为主页应用启动。
2.根据权利要求1所述的显示设备,其特征在于,所述控制器,具体被配置为:
在安装包管理服务中调用意图解析工具扫描应用清单前,判断支持替换主页功能属性的值是否为1;
若是,则确定替换主页功能开启;
若否,则确定替换主页功能关闭。
3.根据权利要求2所述的显示设备,其特征在于,所述控制器,还被配置为:
在确定替换主页功能关闭的情况下,调用所述意图解析工具扫描所述应用清单,以确定所述数据分区中的APK对应的应用是否具有所述HOME属性,以及将所述数据分区中的APK对应的应用的直接启动模式属性的值设置为假。
4.根据权利要求1所述的显示设备,其特征在于,所述控制器,具体被配置为:
判断主页应用安装包名称属性是否有值;
若是,则确定配置了主页应用;
若否,则确定未配置主页应用。
5.根据权利要求4所述的显示设备,其特征在于,所述控制器,还被配置为:
在确定未配置主页应用的情况下,调用所述意图解析工具扫描所述应用清单,以确定所述数据分区中的APK对应的应用是否具有所述HOME属性,以及将所述数据分区中的APK对应的应用的直接启动模式属性的值设置为假。
6.根据权利要求1所述的显示设备,其特征在于,所述控制器,具体被配置为:
在扫描到所述主页应用的情况下,为所述主页应用添加主页HOME属性,将sHasThirdHome的值设置为真,以及删除所述主页应用以外的其它应用的HOME属性。
7.根据权利要求1所述的显示设备,其特征在于,所述控制器,还被配置为:
若所述预设变量的值不为所述第一预设值,则还原删除了所述HOME属性的应用的HOME属性。
8.根据权利要求1所述的显示设备,其特征在于,所述控制器,具体被配置为:
在业务管理服务启动主页时,根据安装包管理服务的扫描结果查找并返回具有HOME属性且直接启动模式属性的值为真的应用的安装包信息;
启动所述安装包信息对应的应用,以将具有HOME属性且直接启动模式属性的值为真的应用作为主页应用启动。
9.根据权利要求1所述的显示设备,其特征在于,所述控制器,还被配置为:
在扫描所述数据分区中的APK之前,扫描系统分区和供应商vendor分区中的APK。
10.一种主页替换方法,其特征在于,包括:
在扫描数据分区中的安卓安装包APK过程中,若确定替换主页功能开启且配置了主页应用,则在扫描到所述主页应用的情况下,为所述主页应用添加主页HOME属性,将预设变量的值设置为第一预设值,以及删除所述主页应用以外的其它应用的HOME属性;
在完成所述数据分区的APK的扫描后,若确定配置了主页应用,则将所述主页应用的直接启动模式属性的值设置为真;
在完成全部APK的扫描后,判断所述预设变量的值是否为所述第一预设值;
若所述预设变量的值为所述第一预设值,则将具有HOME属性且直接启动模式属性的值为真的应用作为主页应用启动。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211741416.XA CN116156259A (zh) | 2022-12-30 | 2022-12-30 | 显示设备及主页替换方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211741416.XA CN116156259A (zh) | 2022-12-30 | 2022-12-30 | 显示设备及主页替换方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116156259A true CN116156259A (zh) | 2023-05-23 |
Family
ID=86338234
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211741416.XA Pending CN116156259A (zh) | 2022-12-30 | 2022-12-30 | 显示设备及主页替换方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116156259A (zh) |
-
2022
- 2022-12-30 CN CN202211741416.XA patent/CN116156259A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11803451B2 (en) | Application exception recovery | |
US9798555B2 (en) | Application implementation method and apparatus | |
WO2018103550A1 (zh) | 应用程序页面处理方法和装置 | |
WO2019157860A1 (zh) | 应用界面的启动方法、装置、存储介质及电子设备 | |
CN105210031B (zh) | 用于操作系统的自助服务机应用模式 | |
CN108549568B (zh) | 应用入口处理方法、装置、存储介质及电子设备 | |
EP3614250A1 (en) | Data processing method and electronic device | |
US20240111473A1 (en) | Distributed display method and terminal for application interface | |
CN111684778A (zh) | 应用功能的实现方法及电子设备 | |
CN111309216B (zh) | 列表页面的显示方法、装置、计算机设备及存储介质 | |
US10908948B2 (en) | Multiple application instances in operating systems that utilize a single process for application execution | |
Shaheen et al. | Android OS with its architecture and Android application with Dalvik virtual machine review | |
CN114138139B (zh) | 应用程序卡片的管理方法、电子设备及介质 | |
CN112445545B (zh) | 一种网页应用的启动方法及显示设备 | |
CN112612525A (zh) | 显示设备及显示设备开机方法 | |
CN112217671A (zh) | 基于拆分部署的前端微服务进行界面显示的方法及设备 | |
CN116156259A (zh) | 显示设备及主页替换方法 | |
CN112911359B (zh) | 一种资源显示方法、显示设备及遥控器 | |
CN112616090B (zh) | 显示设备系统升级方法及显示设备 | |
CN116340680A (zh) | 一种显示设备及插件对象生命周期管理的控制方法 | |
CN115599451A (zh) | 多操作系统的引导启动方法及装置 | |
CN112835633B (zh) | 显示设备及显示语言的控制方法 | |
CN116700694B (zh) | 小程序引擎 | |
CN111913755B (zh) | 一种应用程序的扫描方法和显示设备 | |
KR101211673B1 (ko) | 사용자 단말에서 다른 시스템 환경을 갖는 외부 단말의 프로그램을 실행하기 위한 바이너리 호환 시스템 및 그 방법 |
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 |