CN112764832A - 一种应用程序安装、卸载方法及通信终端 - Google Patents
一种应用程序安装、卸载方法及通信终端 Download PDFInfo
- Publication number
- CN112764832A CN112764832A CN202110082773.9A CN202110082773A CN112764832A CN 112764832 A CN112764832 A CN 112764832A CN 202110082773 A CN202110082773 A CN 202110082773A CN 112764832 A CN112764832 A CN 112764832A
- Authority
- CN
- China
- Prior art keywords
- application program
- user
- user application
- application
- belongs
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
- G06F9/4451—User profiles; Roaming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
- G06F8/62—Uninstallation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44594—Unloading
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开了一种应用程序安装、卸载方法及通信终端。本申请中,获取待安装的用户应用程序的安装包;确定所述用户应用程序是否属于指定范围的用户应用程序;若所述用户应用程序属于指定范围的用户应用程序,则将所述用户应用程序的安装包存放到用户应用程序安装分区,为所述用户应用程序设置系统应用程序标志,并为所述用户应用程序赋予系统应用程序的权限。采用本申请可使得用户应用程序具有系统应用程序标志以及系统应用程序权限,进而解除由于用户应用程序不具有系统应用程序标志和系统应用程序权限而无法使用的限制。
Description
技术领域
本申请涉及通信领域,特别涉及一种应用程序安装、卸载方法及通信终端。
背景技术
为了满足用户需求,用于智能通信终端的应用程序越来越多,用户可以根据自己的需要选择用户应用程序进行安装。
通信终端上安装的应用程序,从开发者角度来说,可分为两类:系统应用程序和用户应用程序。设置有系统应用程序标志(如ApplicationInfo.FLAG_SYSTEM)的应用程序为系统应用程序,系统应用程序被安装在系统应用程序安装分区,未设置有该标志的应用程序为用户应用程序,用户应用程序被安装在用户应用程序分区。系统应用程序和用户应用程序具有不同的应用程序权限。
发明内容
本申请示例性的实施方式中提供一种应用程序安装方法、卸载方法及通信终端,用以使得用户应用程序具有系统应用程序标志以及系统应用程序权限,进而解除由于用户应用程序不具有系统应用程序标志和系统应用程序权限而无法使用的限制。
第一方面,提供一种通信终端,包括:
显示屏,被配置为显示用户界面;
处理器,所述处理器与所述显示屏耦接;
所述处理器被配置为:
获取待安装的用户应用程序的安装包;
确定所述用户应用程序是否属于指定范围的用户应用程序;
若所述用户应用程序属于指定范围的用户应用程序,则将所述用户应用程序的安装包存放到用户应用程序安装分区,为所述用户应用程序设置系统应用程序标志,并为所述用户应用程序赋予系统应用程序的权限。
可选的,所述处理器被进一步配置为:
从所述用户应用程序的安装包中获取应用程序名称;
确定所述应用程序名称是否在预设的应用程序列表中,所述应用程序列表中包括至少一个用户应用程序的名称;
若所述应用程序名称在所述应用程序列表中,则确定所述用户应用程序属于指定范围的用户应用程序。
可选的,所述处理器被进一步配置为:将所述用户应用程序的安装包复制到data/app目录下。
第二方面,提供一种通信终端,包括:
显示屏,被配置为显示用户界面;
处理器,所述处理器与所述显示屏耦接;
所述处理器被配置为:
接收应用程序卸载指令,所述应用程序卸载指令指示卸载的应用程序为用户应用程序;确定所述用户应用程序是否属于指定范围的用户应用程序;
若所述用户应用程序属于指定范围的用户应用程序,则删除为所述用户应用程序设置的系统应用程序标志;
卸载所述用户应用程序。
可选的,所述处理器被进一步配置为:
从所述用户应用程序的安装包中获取应用程序名称;
确定所述应用程序名称是否在预设的应用程序列表中,所述应用程序列表中包括至少一个用户应用程序的名称;
若所述应用程序名称在所述应用程序列表中,则确定所述用户应用程序属于指定范围的用户应用程序。
第三方面,提供一种应用程序安装方法,包括:
获取待安装的用户应用程序的安装包;
确定所述用户应用程序是否属于指定范围的用户应用程序;
若所述用户应用程序属于指定范围的用户应用程序,则将所述用户应用程序的安装包存放到用户应用程序安装分区,为所述用户应用程序设置系统应用程序标志,并为所述用户应用程序赋予系统应用程序的权限。
可选的,所述确定所述用户应用程序是否属于指定范围的用户应用程序,包括:
从所述用户应用程序的安装包中获取应用程序名称;
确定所述应用程序名称是否在预设的应用程序列表中,所述应用程序列表中包括至少一个用户应用程序的名称;
若所述应用程序名称在所述应用程序列表中,则确定所述用户应用程序属于指定范围的用户应用程序。
可选的,所述将所述用户应用程序的安装包存放到用户应用程序安装分区,包括:将所述用户应用程序的安装包复制到data/app目录下。
第四方面,提供一种应用程序卸载方法,包括:
接收应用程序卸载指令,所述应用程序卸载指令指示卸载的应用程序为用户应用程序;确定所述用户应用程序是否属于指定范围的用户应用程序;
若所述用户应用程序属于指定范围的用户应用程序,则删除为所述用户应用程序设置的系统应用程序标志;
卸载所述用户应用程序。
可选的,所述确定所述用户应用程序是否属于指定范围的用户应用程序,包括:
从所述用户应用程序的安装包中获取应用程序名称;
确定所述应用程序名称是否在预设的应用程序列表中,所述应用程序列表中包括至少一个用户应用程序的名称;
若所述应用程序名称在所述应用程序列表中,则确定所述用户应用程序属于指定范围的用户应用程序。
第五方面,提供一种计算机存储介质,所述计算机存储介质中存储有计算机程序指令,当所述指令在计算机上运行时,使得所述计算机执行如上述第一方面或第二方面中任一项所述的方法。
在符合本领域常识的基础上,上述各优选条件,可任意组合,即得本申请各较佳实施例。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1示例性示出了本申请实施例提供的一种通信终端的结构示意图;
图2示例性示出了本申请实施例提供的一种通信终端的软件架构示意图;
图3示例性示出了本申请实施例提供的一种通信终端的软件架构示意图;
图4示例性示出了本申请实施例提供的应用程序安装流程示意图;
图5示例性示出了本申请实施例提供的应用程序安装界面示意图;
图6示例性示出了本申请实施例提供的应用程序卸载流程示意图;
图7示例性示出了本申请实施例提供的应用程序卸载界面示意图。
具体实施方式
下面将结合附图对本申请实施例中的技术方案进行清除、详尽地描述。其中,在本申请实施例的描述中,除非另有说明,″/″表示或的意思,例如,A/B可以表示A或B;文本中的″和/或″仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,另外,在本申请实施例的描述中,″多个″是指两个或多于两个。
以下,术语″第一″、″第二″仅用于描述目的,而不能理解为暗示或暗示相对重要性或者隐合指明所指示的技术特征的数量。由此,限定有″第一″、″第二″的特征可以明示或者隐合地包括一个或者更多个该特征,在本申请实施例的描述中,除非另有说明,″多个″的含义是两个或两个以上。
图1示出了通信终端100的结构示意图。
本申请实施例中的通信终端100可以是智能手机、可穿戴设备、平板电脑等。
下面以通信终端100为例对实施例进行具体说明。应该理解的是,图1所示通信终端100仅是一个范例,并且通信终端100可以具有比图1中所示的更多的或者更少的部件,可以组合两个或多个的部件,或者可以具有不同的部件配置。图中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
图1中示例性示出了根据示例性实施例中通信终端100的硬件配置框图。如图1所示,通信终端100包括:射频(radio frequency,RF)电路110、存储器120、显示单元130、摄像头140、传感器150、音频电路160、无线保真(Wireless Fidelity,Wi-Fi)模块170、处理器180、蓝牙模块181、以及电源190等部件。
RF电路110可用于在收发信息或通话过程中信号的接收和发送,可以接收基站的下行数据后交给处理器180处理;可以将上行数据发送给基站。通常,RF电路包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等器件。
存储器120可用于存储软件程序及数据。处理器180通过运行存储在存储器120的软件程序或数据,从而执行通信终端100的各种功能以及数据处理。存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。存储器120存储有使得通信终端100能运行的操作系统。本申请实施例中存储器120可以存储操作系统及各种应用程序,还可以存储执行本申请实施例所述方法的代码。
显示单元130可用于接收输入的数字或字符信息,产生与通信终端100的用户设置以及功能控制有关的信号输入,可选地,显示单元130可以包括设置在通信终端100正面的触摸屏131,可收集用户在其上或附近的触摸操作,例如点击按钮,拖动滚动框等。
显示单元130还可用于显示由用户输入的信息或提供给用户的信息以及终端100的各种菜单的图形用户界面(graphical user interface,GUI)。具体地,显示单元130可以包括设置在通信终端100正面的显示屏132。其中,显示屏132可以采用液晶显示器、发光二极管等形式来配置。显示单元130可以用于显示本申请实施例中所述的各种图形用户界面。
其中,触摸屏131可以覆盖在显示屏132之上,也可以将触摸屏131与显示屏132集成而实现通信终端100的输入和输出功能,集成后可以简称触摸显示屏。本申请实施例中显示单元130可以显示应用程序以及对应的操作步骤。
摄像头140可用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给处理器180转换成数字图像信号。
通信终端100还可以包括至少一种传感器150,比如加速度传感器151、距离传感器152、指纹传感器153、温度传感器154。通信终端100还可配置有陀螺仪、气压计、湿度计、温度计、红外线传感器、光传感器、运动传感器等其他传感器。
音频电路160、扬声器161、麦克风162可提供用户与通信终端100之间的音频接口。音频电路160可将接收到的音频数据转换后的电信号,传输到扬声器161,由扬声器161转换为声音信号输出。通信终端100还可配置音量按钮,用于调节声音信号的音量。另一方面,麦克风162将收集的声音信号转换为电信号,由音频电路160接收后转换为音频数据,再将音频数据输出至RF电路110以发送给比如另一终端,或者将音频数据输出至存储器120以便进一步处理。本申请实施例中麦克风162可以获取用户的语音。
Wi-Fi属于短距离无线传输技术,通信终端100可以通过Wi-Fi模块170帮助用户收发电子邮件、浏览网页和访问流媒体等,它为用户提供了无线的宽带互联网访问。
处理器180是通信终端100的控制中心,利用各种接口和线路连接整个终端的各个部分,通过运行或执行存储在存储器120内的软件程序,以及调用存储在存储器120内的数据,执行通信终端100的各种功能和处理数据。在一些实施例中,处理器180可包括一个或多个处理单元;处理器180还可以集成应用处理器和基带处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,基带处理器主要处理无线通信。可以理解的是,上述基带处理器也可以不集成到处理器180中。本申请实施例中处理器180可以运行操作系统、应用程序、用户界面显示及触控响应,以及本申请实施例所述的处理方法。另外,处理器180与显示单元130和摄像头140耦接。
蓝牙模块181,用于通过蓝牙协议来与其他具有蓝牙模块的蓝牙设备进行信息交互。例如,通信终端100可以通过蓝牙模块181与同样具备蓝牙模块的可穿戴电子设备(例如智能手表)建立蓝牙连接,从而进行数据交互。
通信终端100还包括给各个部件供电的电源190(比如电池)。电源可以通过电源管理系统与处理器180逻辑相连,从而通过电源管理系统实现管理充电、放电以及功耗等功能。通信终端100还可配置有电源按钮,用于终端的开机和关机,以及锁屏等功能。
图2是本申请实施例的通信终端100的软件结构框图。
分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和系统库(也称系统层),以及内核层。
应用程序层可以包括一系列应用程序包。
如图2所示,应用程序包可以包括相机,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息等应用程序。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图2所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
电话管理器用于提供通信终端100的通信功能。例如通话状态的管理(包括接通,挂断等)。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,通信终端振动,指示灯闪烁等。
Android Runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
2D图形引擎是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
用户可以将用户应用程序安装在通信终端中,常规情况下,用户应用程序不带系统应用程序标志(如ApplicationInfo.FLAG_SYSTEM),并且也不具有系统应用程序的权限,这就导致对于一些需要具有系统应用程序标志和系统应用程序权限才能正常使用的用户应用程序来说,按照常规方式进行安装则导致无法正常使用,比如GMS框架的应用。
为解决上述问题,本申请实施例提供一种应用程序安装方法,用以使得用户应用程序具有系统应用程序标志以及系统应用程序权限,进而解除由于用户应用程序不具有系统应用程序标志和系统应用程序权限而无法使用的限制。
参见图3,为本申请实施例提供的一种系统架构,其中示出了与本申请实施例相关的组成部分,具体实施时,通信终端的系统架构中可能包括更多的组成部分。
如图3所示,应用程序层中包括一个或多个应用程序,具体可包括系统应用程序和/或用户应用程序。本实施例中仅示出了第一应用程序311和第二应用程序312。其中,第一应用程序311和第二应用程序312为用户应用程序,第二应用程序312为采用常规安装方式进行安装即可正常使用的应用程序,第一应用程序311采用常规应用程序安装方式进行安装无法正常使用,采用本申请实施例提供的安装方式才能正常使用。
应用程序框架层中包括应用管理器321,该应用管理器321由软件方式实现,表现为一种系统服务,该系统服务可称为PackageManagerService。该应用管理器321具有常规应用程序管理功能,比如处理各种应用的安装,卸载,管理等工作。本申请实施例中,应用管理器321还可以具有如下功能:判断需要安装的用户应用程序是否属于指定范围的用户应用程序,若是,则将该用户应用程序的安装包存放到用户应用程序安装分区,为该用户应用程序设置系统应用程序标志,并为该用户应用程序赋予系统应用程序的权限。
内核层中包括硬件输入捕获器341,该硬件输入捕获器341由软件方式实现,表现为一种系统服务,该系统服务可称为HardwareInputCapture service。硬件输入捕获器341可从底层获得用户输入事件的信息,并将该用户输入事件的信息传递给应用程序框架层的应用管理器321。
参见图4,为本申请实施例提供的应用程序安装流程示意图,该流程可由应用程序框架层中的应用管理器执行。
如图所示,该流程可包括:
步骤401:获取待安装的用户应用程序的安装包。
可选的,通信终端可为用户提供应用程序安装界面,允许用户基于该界面选择需要安装的用户应用程序,并选择″安装″功能选项。通信终端也允许用户直接选择需要安装的用户应用程序的安装包进行安装。本申请实施例还支持其他安装方式,比如,使用ADB工具安装应用程序,或者通过应用中心进行下载(即通过网络下载)后安装,或者第三方应用安装(即通过SD卡里的安装包文件安装),本申请实施例对此不做限制。
图5示例性示出了一种应用程序安装界面示意图。如图所示,在应用程序安装界面中显示有待安装的应用程序1、应用程序2、应用程序3和应用程序4。如果用户选择应用程序1进行安装,则可触摸应用程序1对应的″安装″功能选项;通信终端获得应用程序1的安装包进行安装,并在该界面中显示安装进度;当应用程序1安装完毕后,可在该界面中显示″打开″功能选项,以使得用户可以打开应用程序1。该过程中,若应用程序1的应用程序名称在预设的应用程序列表中,则该通信终端采用本申请实施例提供的方法对应用程序1进行安装,具体实现过程在此不再重复。
其中,应用程序的安装包中通常包括描述信息,用于描述应用程序的名称、版本权限、引用的库文件等信息,以及应用程序的代码等。以安卓(Android)系统的应用程序为例,应用程序的安装包APK(Android Package)经过解压后,其文件结构如表1所示:
表1、应用程序APK文件结构
在一些应用场景中,当用户选择一个用户应用程序,并通过触摸操作选择通信终端屏幕上显示的″安装″功能选项后,通信终端的触摸屏接收到触摸操作后,相应的硬件中断被发给内核层。内核层将触摸操作加工成用户输入事件(包括触摸坐标,触摸操作的时间戳等信息)。用户输入事件的信息被存储在硬件驱动层的驱动节点中。内核层的硬件输入捕获器从硬件驱动层的驱动节点读取到用户输入事件的信息后,将其传递给应用程序框架层的应用管理器,由应用管理器响应该用户输入事件,执行应用程序的安装过程。
步骤402:确定该用户应用程序是否属于指定范围的用户应用程序,若是,则转入步骤403,否则转入步骤404。
可选的,确定该用户应用程序是否属于指定范围的用户应用程序的过程可包括:从用户应用程序的安装包中获取应用程序名称,以上述表1所示的应用程序APK为例,可从该APK中的AndroidManifest.xml文件中获取应用程序的名称;确定该应用程序名称是否在预设的应用程序列表中,若该应用程序名称在该应用程序列表中,则确定该用户应用程序属于指定范围的用户应用程序,否则确定该用户应用程序不属于指定范围的用户应用程序。
其中,该应用程序列表可预先设置,其中包括至少一个用户应用程序的名称。本申请实施例中,可将需要具有系统应用程序标志和系统应用程序权限才能正常使用的应用程序名称设置在该列表中,比如GMS框架应用,具体的,如谷歌服务框架应用,商店应用,gmscore应用等。
步骤403:将该用户应用程序的安装包存放到用户应用程序安装分区,为该用户应用程序设置系统应用程序标志,并为该用户应用程序赋予系统应用程序的权限。
可选的,该步骤中,可将该用户应用程序的安装包复制到data/app目录下,data/app目录是用户应用程序的安装包存放目录。在为该应用程序设置权限时,可通过权限管理器(如permissionmanagerservices)中,针对该用户应用程序的安装包,将请求权限(requestpermission)设置为允许(grant)。
可选的,将该用户应用程序安装包中的classes.dex文件安装到data/dalvik-cache目录下。classes.dex文件是dalvik虚拟机的可执行文件。
可选的,在安装该用户应用程序的过程中,还可以向系统目录中写入一些必要的动态连接库(Dynamic Link Library,DLL)。
可选的,在安装该用户应用程序的过程中,还可以向系统注册表中写入相应的设置项。
可选的,在安装该用户应用程序的过程中,还可以建立桌面快捷方式。
可选的,在安装该用户应用程序的过程中,还可以执行其他操作,比如,有些应用程序安装时会先将所有文件(或一部分文件)先解压到临时目录,在安装完之后将这些文件删除。
可选的,应用管理器可根据应用程序安装包中的签名信息(存放在META-INF中),采用相应算法对安装包文件进行校验,如果校验结果与META-INF中内容不一致,则不会安装这个应用程序,以保证系统的安全。
步骤404:按照常规方式安装该用户应用程序。
其中,按照常规方式安装该用户应用程序时,该用户应用程序的安装包会被复制到data/app目录下,并且不会为该用户应用程序设置系统应用程序标志,也不会为该用户应用程序赋予系统应用程序的权限。
本申请的上述实施例中,对于需要系统应用程序标志和系统应用程序权限才能正常使用的用户应用程序,在进行安装时,将其安装包存放在用户应用程序安装分区,但为该用户应用程序设置系统应用程序标志,并为该用户应用程序赋予系统应用程序的权限,使得该用户应用程序可以正常使用。
参见图6,为本申请实施例提供的应用程序卸载流程,该流程可由应用程序框架层中的应用管理器执行。
如图所示,该流程可包括:
步骤601:接收应用程序卸载指令,该应用程序卸载指令指示卸载的应用程序为用户应用程序。
可选的,通信终端可为用户提供应用程序卸载界面,允许用户基于该界面选择需要卸载的用户应用程序,并选择″卸载″功能选项。通信终端也允许用户直接选择需要卸载的用户应用程序进行卸载,本申请实施例对此不做限制。
在一些应用场景中,当用户选择一个用户应用程序,并通过触摸操作选择通信终端屏幕上显示的″卸载″功能选项后,通信终端的触摸屏接收到触摸操作后,相应的硬件中断被发给内核层。内核层将触摸操作加工成用户输入事件(包括触摸坐标,触摸操作的时间戳等信息)。用户输入事件的信息被存储在硬件驱动层的驱动节点中。内核层的硬件输入捕获器从硬件驱动层的驱动节点读取到用户输入事件的信息后,将其传递给应用程序框架层的应用管理器,由应用管理器响应该用户输入事件,执行应用程序的卸载过程。
步骤602:确定该用户应用程序是否属于指定范围的用户应用程序,若是,则转入步骤603,否则转入步骤604。
该步骤中,确定该用户应用程序是否属于指定范围的用户应用程序,与图4所示流程中的相关内容相同,在此不再重复。
步骤603:删除为该用户应用程序设置的系统应用程序标志,并转入步骤604。
步骤604:卸载该用户应用程序。
该步骤中,可采用常规方式对该用户应用程序进行卸载。具体的,在卸载该应用程序过程中,将存放于用户应用程序安装分区(如data/app目录)的该用户应用程序的安装包删除。
可选的,还可将存放于用户应用程序安装分区(如data/data目录)的该用户应用程序的数据删除。
可选的,还可将存放于用户应用程序安装分区(如data/dalvik-cache目录)的该用户应用程序的文件删除。
图7示例性示出了一种应用程序写在界面示意图。如图所示,在应用程序卸载界面中显示有可被卸载的应用程序1、应用程序2、应用程序3和应用程序4。如果用户选择应用程序1进行卸载装,则可触摸应用程序1对应的″卸载″功能选项;通信终端可对该应用程序1进行卸载;当应用程序1卸载完毕后,该界面中不再显示应用程序1。该过程中,若应用程序1的应用程序名称在预设的应用程序列表中,则该通信终端采用本申请实施例提供的方法对应用程序1进行卸载,具体实现过程在此不再重复。
本申请的上述实施例中,对于需要系统应用程序标志和系统应用程序权限才能正常使用的用户应用程序,在进行安装时,将其安装包存放在用户应用程序安装分区,但为该用户应用程序设置系统应用程序标志,并为该用户应用程序赋予系统应用程序的权限,使得该用户应用程序可以正常使用。当需要对该应用程序进行卸载时,可将为该应用程序设置的系统应用程序标志删除,从而使得该用户应用程序能够被卸载。
根据示例性的实施方式中的再一方面,提供一种计算机存储介质,所述计算机存储介质中存储有计算机程序指令,当所述指令在计算机上运行时,使得所述计算机执行如上所述的处理方法。
由于本申请实施例中的通信终端和计算机存储介质可以应用于上述处理方法,因此,其所能获得的技术效果也可参考上述方法实施例,本申请的实施例在此不再赘述。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
虽然以上描述了本申请的具体实施方式,但是本领域的技术人员应当理解,这些仅是举例说明,本申请的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本申请的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本申请的保护范围。
Claims (10)
1.一种通信终端,其特征在于,包括:
显示屏,被配置为显示用户界面;
处理器,所述处理器与所述显示屏耦接;
所述处理器被配置为:
获取待安装的用户应用程序的安装包;
确定所述用户应用程序是否属于指定范围的用户应用程序;
若所述用户应用程序属于指定范围的用户应用程序,则将所述用户应用程序的安装包存放到用户应用程序安装分区,为所述用户应用程序设置系统应用程序标志,并为所述用户应用程序赋予系统应用程序的权限。
2.如权利要求1所述的通信终端,其特征在于,所述处理器被进一步配置为:
从所述用户应用程序的安装包中获取应用程序名称;
确定所述应用程序名称是否在预设的应用程序列表中,所述应用程序列表中包括至少一个用户应用程序的名称;
若所述应用程序名称在所述应用程序列表中,则确定所述用户应用程序属于指定范围的用户应用程序。
3.如权利要求1或2所述的通信终端,其特征在于,所述处理器被进一步配置为:
将所述用户应用程序的安装包复制到data/app目录下。
4.一种通信终端,其特征在于,包括:
显示屏,被配置为显示用户界面;
处理器,所述处理器与所述显示屏耦接;
所述处理器被配置为:
接收应用程序卸载指令,所述应用程序卸载指令指示卸载的应用程序为用户应用程序;
确定所述用户应用程序是否属于指定范围的用户应用程序;
若所述用户应用程序属于指定范围的用户应用程序,则删除为所述用户应用程序设置的系统应用程序标志;
卸载所述用户应用程序。
5.如权利要求4所述的通信终端,其特征在于,所述处理器被进一步配置为:
从所述用户应用程序的安装包中获取应用程序名称;
确定所述应用程序名称是否在预设的应用程序列表中,所述应用程序列表中包括至少一个用户应用程序的名称;
若所述应用程序名称在所述应用程序列表中,则确定所述用户应用程序属于指定范围的用户应用程序。
6.一种应用程序安装方法,其特征在于,包括:
获取待安装的用户应用程序的安装包;
确定所述用户应用程序是否属于指定范围的用户应用程序;
若所述用户应用程序属于指定范围的用户应用程序,则将所述用户应用程序的安装包存放到用户应用程序安装分区,为所述用户应用程序设置系统应用程序标志,并为所述用户应用程序赋予系统应用程序的权限。
7.如权利要求6所述的方法,其特征在于,所述确定所述用户应用程序是否属于指定范围的用户应用程序,包括:
从所述用户应用程序的安装包中获取应用程序名称;
确定所述应用程序名称是否在预设的应用程序列表中,所述应用程序列表中包括至少一个用户应用程序的名称;
若所述应用程序名称在所述应用程序列表中,则确定所述用户应用程序属于指定范围的用户应用程序。
8.如权利要求6或7所述的方法,其特征在于,所述将所述用户应用程序的安装包存放到用户应用程序安装分区,包括:
将所述用户应用程序的安装包复制到data/app目录下。
9.一种应用程序卸载方法,其特征在于,包括:
接收应用程序卸载指令,所述应用程序卸载指令指示卸载的应用程序为用户应用程序;
确定所述用户应用程序是否属于指定范围的用户应用程序;
若所述用户应用程序属于指定范围的用户应用程序,则删除为所述用户应用程序设置的系统应用程序标志;
卸载所述用户应用程序。
10.如权利要求9所述的方法,其特征在于,所述确定所述用户应用程序是否属于指定范围的用户应用程序,包括:
从所述用户应用程序的安装包中获取应用程序名称;
确定所述应用程序名称是否在预设的应用程序列表中,所述应用程序列表中包括至少一个用户应用程序的名称;
若所述应用程序名称在所述应用程序列表中,则确定所述用户应用程序属于指定范围的用户应用程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110082773.9A CN112764832A (zh) | 2021-01-21 | 2021-01-21 | 一种应用程序安装、卸载方法及通信终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110082773.9A CN112764832A (zh) | 2021-01-21 | 2021-01-21 | 一种应用程序安装、卸载方法及通信终端 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112764832A true CN112764832A (zh) | 2021-05-07 |
Family
ID=75702427
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110082773.9A Pending CN112764832A (zh) | 2021-01-21 | 2021-01-21 | 一种应用程序安装、卸载方法及通信终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112764832A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1617101A (zh) * | 2003-10-24 | 2005-05-18 | 微软公司 | 操作系统资源保护 |
CN104317623A (zh) * | 2011-12-13 | 2015-01-28 | 华为终端有限公司 | 移动终端预置应用程序的管理方法和移动终端 |
CN106462697A (zh) * | 2016-09-09 | 2017-02-22 | 北京小米移动软件有限公司 | 辅助服务管理方法及装置 |
CN107545170A (zh) * | 2016-06-24 | 2018-01-05 | 中兴通讯股份有限公司 | 系统权限管理方法、装置及智能终端 |
CN107943490A (zh) * | 2017-11-16 | 2018-04-20 | 珠海市魅族科技有限公司 | 应用安装方法、设备、计算机可读存储介质及计算机装置 |
-
2021
- 2021-01-21 CN CN202110082773.9A patent/CN112764832A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1617101A (zh) * | 2003-10-24 | 2005-05-18 | 微软公司 | 操作系统资源保护 |
CN104317623A (zh) * | 2011-12-13 | 2015-01-28 | 华为终端有限公司 | 移动终端预置应用程序的管理方法和移动终端 |
CN107545170A (zh) * | 2016-06-24 | 2018-01-05 | 中兴通讯股份有限公司 | 系统权限管理方法、装置及智能终端 |
CN106462697A (zh) * | 2016-09-09 | 2017-02-22 | 北京小米移动软件有限公司 | 辅助服务管理方法及装置 |
CN107943490A (zh) * | 2017-11-16 | 2018-04-20 | 珠海市魅族科技有限公司 | 应用安装方法、设备、计算机可读存储介质及计算机装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20140179377A1 (en) | Mobile electronic device having program notification function and program notification method thereof | |
US11853820B2 (en) | Cross-process communication method, apparatus, and device | |
CN110865837B (zh) | 一种进行系统升级的方法和终端 | |
CN113835569A (zh) | 终端设备、应用内部功能的快捷启动方法和存储介质 | |
CN113835571A (zh) | 一种终端设备、信息展示方法和存储介质 | |
CN111857531A (zh) | 移动终端及其文件显示方法 | |
WO2022052766A1 (zh) | 主题包适配方法及装置 | |
CN113835928A (zh) | 应用的备份和恢复方法、设备、存储介质和程序产品 | |
CN113836540A (zh) | 管理应用权限的方法、设备、存储介质和程序产品 | |
CN111158735B (zh) | 一种热补丁文件处理方法及通信终端 | |
US20230216732A1 (en) | Network Configuration Method and Device | |
CN114675786A (zh) | 一种大容量存储挂载方法、装置、终端及介质 | |
CN113642010B (zh) | 一种获取扩展存储设备数据的方法及移动终端 | |
CN111399955B (zh) | 移动终端及其应用程序的界面显示方法 | |
CN112764832A (zh) | 一种应用程序安装、卸载方法及通信终端 | |
CN113900740A (zh) | 加载多项列表数据的方法及装置 | |
CN113254132A (zh) | 一种应用显示方法及相关装置 | |
CN111159734A (zh) | 通信终端及多应用数据互访处理方法 | |
CN113496039A (zh) | 一种权限管理方法及终端 | |
CN114138343A (zh) | 一种终端及终端启动方法 | |
WO2024032022A1 (zh) | 一种应用图标的可视化方法和设备 | |
WO2023169212A1 (zh) | 一种识别应用程序中sdk的方法、终端及服务器 | |
CN115146257A (zh) | 一种终端设备、功能筛选方法和存储介质 | |
CN114154180A (zh) | 数据共享方法和终端设备 | |
CN113536387A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210507 |