应用程序多开方法、装置、终端设备及存储介质与流程

文档序号:12034401阅读:331来源:国知局
应用程序多开方法、装置、终端设备及存储介质与流程

本发明涉及一种应用程序管理方法,尤其涉及一种应用程序多开方法、装置、终端设备及存储介质。



背景技术:

随着终端设备的越来越成熟,终端设备,如智能手机和平板电脑等已经成为了人们日常生活的必备品。目前市场上的终端设备,一个应用程序只能启动一个实例并运行,不能像在电脑上使用某些应用程序一样实现多开。例如,针对某个聊天工具或微博,用户具有多个账号,需要同时登陆使用;或者针对某款游戏,用户具有多个账号,需要同时登陆满足切换、交易等方便操作。这些多开的需求在电脑上实现起来比较容易,但是,终端设备受限于终端设备操作系统的特性,用户在终端设备操作系统下同时只能开启一个应用程序的实例,当需要登录另一个账号时,只能在当前运行的实例中注销当前账号以达到切换的目的,这就带来了诸多的不便。



技术实现要素:

有鉴于此,有必要提供一种应用程序多开方法、装置、终端设备及存储介质,可满足应用程序的多开需求。

一种应用程序多开装置,应用于终端设备,所述应用程序多开装置包括:

安装模块,所述安装模块用于在接收到应用程序安装请求时判断是否存在已安装的该应用程序;若该终端设备中已安装该应用程序,则修改待安装的应用程序的包名;运行已修改包名的该应用程序的安装程序。

在一种实施方式中,所述应用程序多开装置还包括冲突模块,所述冲突模块用于判断再次安装的该应用程序是否与在先安装的应用程序冲突,若存在冲突,则修改该再次安装的应用程序的包的地址,将所述包的地址由相对地址改成绝对地址。

在一种实施方式中,其中所述相对地址为所述终端设备为此次安装的该应用程序分配的虚拟地址;所述绝对地址为所述终端设备为第一次安装的该应用程序分配的地址。

在一种实施方式中,所述冲突模块通过所述终端设备的查找类函数修改应用程序的包的地址。

一种应用程序多开方法,应用于终端设备,所述应用程序多开方法包括:

接收应用程序安装请求;

判断是否存在已安装的该应用程序;

若该终端设备中已安装该应用程序,则修改待安装的应用程序的包名;

运行该已修改包名的应用程序的安装程序。

在一种实施方式中,所述应用程序多开方法还包括:

接收再次安装的应用程序的运行请求;

判断再次安装的该应用程序是否与在先安装的应用程序冲突;

若存在冲突,修改再次安装的应用程序的包的地址,将所述再次安装的应用程序的包的地址由相对地址改成绝对地址。

在一种实施方式中,其中所述相对地址为所述终端设备为此次安装的该应用程序分配的虚拟地址;所述绝对地址是所述终端设备为第一次安装的该应用程序分配的地址。

在一种实施方式中,修改应用程序的包的地址通过调用所述终端设备提供的查找类函数实现。

一种终端设备,所述终端设备包括存储装置及处理装置,所述处理装置用于执行所述至少一指令以实施上所述的应用程序多开方法。

一种非易失性存储介质,所述非易失性存储介质存储有至少一个指令,所述至少一个指令被处理装置执行时实施上所述的应用程序多开方法。

所述应用程序多开装置、方法、终端设备及存储介质代码量少,实现容易,兼容性好。

附图说明

图1是本发明实施方式提供的一种应用程序多开方法流程图。

图2是本发明实施方式提供的一种应用程序多开装置模块图。

图3是本发明实施方式提供的一种终端设备的结构示意图。

图4是本发明实施方式提供的一种应用程序多开人机交互界面图。

图5是本发明实施方式提供的另一种应用程序多开人机交互界面图。

主要元件符号说明

应用程序多开装置20

安装模块202

冲突模块204

终端设备30

存储装置31

处理装置32

显示装置33

如下具体实施方式将结合上述附图进一步说明本发明。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

以下所描述的系统实施方式仅仅是示意性的,所述模块或电路的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由同一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。

实施例

如图1所示,为本发明实施方式提供的一种应用程序多开方法100的流程图。根据不同需求,该流程图中步骤的顺序可以改变,某些步骤可以省略或合并。

本发明实施方式提供的应用程序多开方法100应用于终端设备,所述终端设备可以是,但不限于任何一种可获取用户影像的电子产品,例如,平板电脑、智能手机、个人数字助理(personaldigitalassistant,pda)、智能式穿戴式设备等终端。

本实施例所揭示的终端设备可以基于任何现有的操作平台,例如安卓(android)、微软视窗操作系统(windowsphone)等。为便于描述,如下实施例中以安卓平台为例进行说明。所述安卓平台系统采用四层架构,包括核心层、系统运行库层、应用程序框架层及应用层序层。其中核心层作为硬件与软件之间的抽象层,还负责系统安全性、内存管理、网络协议栈和驱动模型等。所述系统运行库层提供一些供开发者使用的组件。所述应用程序框架层提供开发者使用的应用程序接口(applicationprograminterface,api)框架。所述应用程序层即为通过应用程序框架层编写的能够运行在虚拟机上的程序,例如聊天工具微信、qq及各种游戏应用程序等。

步骤101,接收应用程序安装请求。具体地,可通过显示界面显示待安装应用程序安装程序,用户通过点选待安装应用程序发出应用程序安装请求。

步骤102,判断所述终端设备的已安装的应用程序中是否存在相同包名的应用程序。若是,则进入步骤103,若否,则进入步骤105。

步骤103,修改待安装的应用程序对应的包名,使之区别于已安装的应用程序的包名。例如,假定安装的应用程序为微信,该应用程序的包名为com.tencent.mm,可修改再次安装的应用程序的包名为com.tencent.mm2。

步骤104,启动修改报名后的该应用程序的安装。

步骤105,第一次安装该应用程序。具体地,第一次安装该应用程序,则以该终端设备中安装应用程序的常规方式进行安装该应用程序,即直接运行该应用程序的安装程序。

步骤106,接收应用程序的运行请求。具体地,可通过显示界面显示待已完成安装的应用程序图标,如图4所示,用户通过点选应用程序图标发出应用程序运行请求。

步骤107,判断是否存在冲突,若存在冲突,进入步骤108,否则直接进入步骤109。具体地,接收到应用程序的运行请求时,会先在该应用程序指向的地址中查找相关的数据文件,如果查找不到,则会返回查找不到的信息,根据该信息即可判定存在冲突,若能找到,则不存在冲突。

步骤108,修改再次安装的该应用程序对应的包的路径,将其相对路径修改为绝对路径,以避免该再次安装的同一应用程序的兼容性问题。

步骤109,运行该应用程序。该应用程序运行过程中,可通过该终端设备的应用程序管理查看运行中的应用程序及其进程信息,如图5所示,可以看到运行中的两个微信及其进程信息,从而实现了多个同一应用程序的共存及多开。

实施例

图2为本发明实施例提供的应用程序多开装置20的结构图,如图2所示,所述应用程序多开装置可以包括:安装模块202、冲突模块204。本发明所称的模块是指一种能够被计算机所执行并且能够完成固定功能的一系列计算机程序段。

本发明实施方式提供的应用程序多开装置20应用于终端设备,所述终端设备可以是,但不限于任何一种可获取用户影像的电子产品,例如,平板电脑、智能手机、个人数字助理(personaldigitalassistant,pda)、智能式穿戴式设备等终端。

本实施例所揭示的终端设备可以基于任何现有的操作平台,例如安卓(android)、微软视窗操作系统(windowsphone)等。为便于描述,如下实施例中以安卓平台为例进行说明。所述安卓平台系统采用四层架构,包括核心层、系统运行库层、应用程序框架层及应用层序层。其中核心层作为硬件与软件之间的抽象层,还负责系统安全性、内存管理、网络协议栈和驱动模型等。所述系统运行库层提供一些供开发者使用的组件。所述应用程序框架层提供开发者使用的应用程序接口(applicationprograminterface,api)框架。所述应用程序层即为通过应用程序框架层编写的能够运行在虚拟机上的程序,例如聊天工具微信、qq及各种游戏应用程序等。

本实施例所揭示的应用程序多开装置20的各模块即为通过应用程序框架层编写的管理应用程序的计算机程序段,通过该应用程序多开装置20能够允许所述终端设备安装多个同一应用程序,并允许该多个同一应用程序同时或分开独立运行。

所述安装模块202用于安装多个同一应用程序。安卓应用系统下的应用程序都是以安卓安装包(androidpackage,apk)格式的文件发布的,通过将apk文件直接传到安卓系统下执行即可安装。apk文件是安卓软件开发工具包编译的工程打包成的一个安装程序文件。在安卓系统下,activity(活动界面)和service(服务)是应用程序的核心组件,它们以耦合的方式组合在一起构成了一个完整的应用程序。应用程序的框架层提供了一套完整的机制来协助应用程序启动这些activity和service,以及提供binder(一种安卓进程间通信机制)机制帮助它们相互间进行通信。在系统中运行的应用程序都有不同的包名,每个应用程序对应一个唯一的包名。运行时系统为每个应用程序创建一个唯一的pid(进程号)。通常情况下,所述终端设备对于具有相同包名的应用程序只允许安装一次,再次安装同一应用程序时,所述终端设备的操作系统会自动忽略该再次安装请求。本实施例揭露的所述安装模块202通过修改应用程序包名的方式来允许系统安装多个同一应用程序。

在用户启动一应用程序的安装(例如,用户通过点击用户界面上的安装程序)时,所述安装模块202会先判断所述终端设备的系统中是否已经安装了一个相同包名的应用程序。若没有,则按照常规方式进行安装该应用程序。若已经存在一个安装好的应用程序,则修改待安装的应用程序的包名(例如在包名后添加一数字以区分安装的多个同一应用程序),然后再启动包名修改后的应用程序的安装。此时,由于修改后,该再次安装的应用程序具有不同于已安装的应用程序的包名,因此,所述终端设备的系统允许该应用程序的再次安装。所述安装模块202的程式代码可参照如下(以微信为例,且系统中已安装过微信,第二次安装微信时):

上述第二个微信安装程序完成后,系统会为再次安装的微信分配一个地址(例如虚拟地址com.tencent.mm2),同时在用户页面上会出现两个同样的微信图标。在一些实施例中,为了便于使用者识别,所述微信图标可在名称上进行区别标示。

所述冲突模块204用于判断再次安装的应用程序是否与在先安装的应用程序存在冲突,若存在冲突,解决多个同一应用程序运行兼容性冲突。具体地,所述冲突模块204通过将多个同一应用程序对应的包的相对地址改成绝对地址,以避免在运行应用程序时出现查找类失败的问题。程式代码段可参照如下(以上述安装的两个微信为例):

上述两个微信安装完成后,系统存在两个微信,当运行第二次安装的微信时,系统会从指定地址载入所需的数据文件,由于在此安装的微信,分配的是相对地址(虚拟地址),系统可能会找不到该地址,从而返回查找失败的提示,此时,则需要所述冲突模块204来解决该运行冲突。具体地,所述冲突模块204将第二次安装的微信指向的包地址由相对地址更改为绝对地址(例如,第一次安装的微信对应的包的地址),从而两个微信可以共享同一个微信应用程序的数据文件,共同并存于同一系统中。

可以理解的是,上述示例是以微信为例进行说明,所述方法可以适用于任何其他应用程序,例如地图、新闻等。上述实例中是以安装两个微信为例,可以理解的是,并不以两个为限,可以安装多个同一应用程序,例如3个、4个、5个等,可根据用户需要及所述终端设备的运行能力进行综合设置。

可以理解的是,所述冲突模块204对于实现本实施例的双开方法并不是必须的,有些应用程序,例如地图、新闻等,在多次安装后,多次安装的应用程序可能分配的都是绝对地址,此时不会存在冲突问题,因此不需要运行所述冲突模块204来解决多个应用程序运行冲突问题。

实施例

请参照图3,图3是本发明一实施例提供的实现应用程序多开方法的终端设备30的结构示意图。

该实施例的终端设备30是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,包括:存储装置31、处理装置32以及存储在所述存储装置31中并可在所述处理装置32上运行的计算机程序,例如应用程序多开程序。所述处理装置32执行所述计算机程序时实现上述各个应用程序多开方法实施例中的步骤,例如图1所示的步骤。或者,所述处理器执行所述计算机程序时实现上述各装置实施例中各模块的功能。

示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储装置31中,并由所述处理装置32执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述终端设备中的执行过程。例如,所述计算机程序可以被分割成图2所示的安装模块202及冲突模块204。

所述终端设备30可以是,但不限于任何一种可获取用户影像的电子产品,例如,平板电脑、智能手机、个人数字助理(personaldigitalassistant,pda)、智能式穿戴式设备等终端。

所述存储装置31可用于存储所述计算机程序和/或模块,所述处理装置32通过运行或执行存储在所述存储装置31内的计算机程序和/或模块,以及调用存储在存储装置31内的数据,实现所述终端设备30的各种功能。所述存储装置31可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端设备30的使用所创建的数据(比如音频数据、电话本等)等。此外,存储装置31可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

所述处理装置32可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述终端设备的控制中心,利用各种接口和线路连接整个终端设备的各个部分。

优选地,所述处理装置32可调用所述存储装置31中存储的程序代码以执行相关的功能。例如,图2中所述的各个模块是存储在所述存储装置31中的程序代码,并由所述处理装置32所执行,以实现一种应用程序多开方法(例如实施例中图1所示的应用程序多开方法)。

在一实施例中,所述终端设备30的操作系统以一个或多个电脑可执行指令的形式存在于所述存储装置31中,所述电脑可执行指令可被所述处理装置32所执行以实现所述终端设备30的功能。

所述终端设备30还包括至少一个显示装置33以及至少一个通信总线。其中,所述通信总线用于实现这些组件之间的连接通信。

其中,所述显示装置33可以是触液晶显示屏(liquidcrystaldisplay,lcd)、发光二极管(lightemittingdiode,led)显示屏、有机电激光显示屏(organiclight-emittingdiode,oled)或其他适宜的显示屏。

本领域技术人员可以理解,所述示意图仅仅是终端设备的示例,并不构成对终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、网络接入设备等。所述输入输出设备可包括任意适宜的输入设备,包括但不限于,鼠标、键盘、触摸屏、或非接触式输入,例如,手势输入、声音输入等。

实施例

所述终端设备集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例所述的应用程序多开方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上文方法实施例所述的应用程序多开方法的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。

在本发明所提供的几个实施例中,应该理解到,所揭露的方法和装置,也可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。

对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个装置也可以由同一个装置或系统通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

所述应用程序多开方法、装置、终端设备及存储介质代码量少,实现容易,兼容性好。

最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1