CN109271211B - 应用程序的分身方法、装置、设备和介质 - Google Patents
应用程序的分身方法、装置、设备和介质 Download PDFInfo
- Publication number
- CN109271211B CN109271211B CN201710587321.XA CN201710587321A CN109271211B CN 109271211 B CN109271211 B CN 109271211B CN 201710587321 A CN201710587321 A CN 201710587321A CN 109271211 B CN109271211 B CN 109271211B
- Authority
- CN
- China
- Prior art keywords
- application
- storage space
- application program
- message
- request
- 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.)
- Active
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
-
- 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
-
- 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/44557—Code layout in executable memory
- G06F9/44563—Sharing
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请实施例提供了一种应用程序的分身方法、装置、设备和介质,其中的方法具体包括:接收针对应用程序的分身创建请求;响应于所述分身创建请求,获取未安装所述应用程序的存储空间;其中,所述存储空间用于表征提供给操作系统用户的空间;在所述未安装所述应用程序的存储空间中创建所述应用程序的分身应用。本申请实施例能够提高分身应用的稳定性,能够简化应用程序多实例的升级流程,且能够提高所支持分身应用的数目。
Description
技术领域
本申请涉及智能终端技术领域,特别是涉及一种应用程序的分身方法、一种应用程序的分身系统、一种应用程序的分身装置、一种设备、以及一种机器可读介质。
背景技术
随着智能终端软硬件技术的发展,用户对智能终端中APP(应用程序,Application)的需求越来越丰富。在日常使用智能终端的过程中,用户会存在多个账号同时登录同一APP的需求。例如,针对社交类APP,用户的多个账号需要同时登录使用以分别满足工作社交和生活社交的需求;或者,针对游戏类APP,用户的多个账号需要同时登录以在该多个账号之间便捷地进行道具赠送、交易等操作。
一种现有方案中,多账号的登录通过篡改原APP的特定信息(如包名、路径名等)来实现。具体地,可以对原APP的特定信息进行修改以得到新APP,并在智能终端中安装新APP,由此实现多账号的登录。
然而,上述现有方案通常由第三方APP来执行,若该第三方APP不稳定或者兼容性不够,则容易影响新APP的稳定性,也即,现有方案存在稳定性差的问题。
并且,上述现有方案篡改原APP的特定信息的方式,使得新APP与原APP之间相互独立,这样,将使得用户无法实现对于新APP的直接升级。在实际应用中,在用户升级原APP后,第三方APP还需要重新修改升级后原APP的特定信息以得到对应的当前新APP,并重新在智能终端中安装当前新APP;可见,现有方案存在升级操作复杂的问题。
另外,现有方案通常对多账号的数目存在限制,例如,大多数第三方APP仅仅支持2个账号的同时登录,这将无法满足2个以上账号同时登录的需求,影响用户体验。
发明内容
本申请实施例所要解决的技术问题是提供一种应用程序的分身方法,能够提高分身应用的稳定性,能够简化应用程序多实例的升级流程,且能够提高所支持分身应用的数目。
相应的,本申请实施例还提供了一种应用程序的分身装置、一种智能终端、以及一种操作系统,用以保证上述方法的实现及应用。
为了解决上述问题,本申请实施例公开了一种应用程序的分身方法,包括:接收针对应用程序的分身创建请求;响应于所述分身创建请求,获取未安装所述应用程序的存储空间;其中,所述存储空间用于表征提供给操作系统用户的空间;在所述未安装所述应用程序的存储空间中创建所述应用程序的分身应用。
本申请实施例还公开了一种应用程序的分身装置,包括:
创建请求接收模块,用于接收针对应用程序的分身创建请求;
存储空间获取模块,用于响应于所述分身创建请求,获取未安装所述应用程序的存储空间;其中,所述存储空间用于表征提供给操作系统用户的空间;
分身应用创建模块,用于在所述未安装所述应用程序的存储空间中创建所述应用程序的分身应用。
本申请实施例还公开了一种设备,包括:一个或多个处理器;和其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述设备执行前述一个或多个所述的方法。
本申请实施例还公开了一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得设备执行前述一个或多个所述的方法。
本申请实施例还公开了一种用于设备的操作系统,包括:
创建请求接收单元,用于接收针对应用程序的分身创建请求;
存储空间获取单元,用于响应于所述分身创建请求,获取未安装所述应用程序的存储空间;其中,所述存储空间用于表征提供给操作系统用户的空间;
分身应用创建单元,用于在所述未安装所述应用程序的存储空间中创建所述应用程序的分身应用。
与现有方案相比,本申请实施例包括以下优点:
本申请实施例接收针对应用程序的分身创建请求;响应于所述分身创建请求,获取未安装所述应用程序的存储空间;其中,所述存储空间用于表征提供给操作系统用户的空间;在所述存储空间中创建所述应用程序的分身应用。本申请实施例利用操作系统多用户特性,实现应用程序的主身应用和至少一个分身应用,本申请实施例具有如下优点:
首先,相对于现有方案中第三方APP不稳定或者兼容性不够导致稳定性差的问题,由于操作系统多用户特性为操作系统支持的一个稳定特性,故本申请实施例利用这个稳定特性在操作系统层面实现应用程序的分身,能够提高分身应用的稳定性。
其次,本申请实施例所采用应用程序的分身方式与不涉及应用程序信息的修改,故相对于现有方案中分别针对原APP和新APP进行升级操作导致升级操作复杂的问题,本申请实施例中一个应用程序的所有实例(包括主身应用和所有分身应用)可以共用该应用程序的代码部分,因此可以实现主身应用和所有分身应用的同步更新;也即,在主身应用或者任意一个分身应用的代码部分被更新的情况下,主身应用和所有分身应用的代码部分也被同步更新,因此能够提高简化多实例的升级流程。且本申请实施例的升级可以不涉及各实例的数据部分,因此能够保证各实例的数据部分的独立性。
再者,相对于现有方案中第三方APP仅仅支持原APP的1个分身应用的问题,本申请实施例可以利用智能终端的硬件资源,支持无限多的分身应用和实例数目,通常,本申请实例支持的实例数目可达到8甚至更多,因此能够解决分身应用受限的问题。
此外,由于本申请实施例在操作系统层面实现应用程序的分身,故可以实现对于一个应用程序的所有实例的统一管理。可选地,可以在桌面上针对一个应用程序的所有实例设置对应的快捷图标,以提高用户对于分身应用的操作效率;或者,可以对一个应用程序的所有实例对应任务进行统一管理,这样,可以使分身应用在任务管理界面具有与主身应用同等被展现的机会,提高分身应用的透明性。
附图说明
图1是本申请的一种应用程序的分身方法实施例的步骤流程图;
图2是本申请实施例的一种桌面的示意;
图3是本申请实施例的一种应用图标的区域的示意;
图4是本申请的一种基于操作系统多用户的存储空间的结构示意;
图5是本申请的另一种应用程序的分身方法实施例的步骤流程图;
图6是本申请的再一种应用程序的分身方法实施例的步骤流程图;
图7是本申请的又一种应用程序的分身方法实施例的步骤流程图;
图8是本申请的一种不同存储空间的应用之间的消息通信方法实施例的步骤流程图;
图9是本申请的一种应用程序的分身装置实施例的结构框图;
图10是本申请一实施例提供的计算设备的硬件结构示意图;
图11是本申请另一实施例提供的计算设备的硬件结构示意图;
图12是本申请实施例的一种用于设备的操作系统的结构示意图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
本申请实施例中,应用程序的分身是指针对一个APP在智能终端上同时运行该APP的多个实例。现有方案中第三方APP通过篡改原APP的特定信息的方式运行原APP的一个分身应用。然而,现有方案具有稳定性差、升级操作复杂、仅仅支持原APP的1个分身应用等问题。
本申请实施例提供了一种应用程序的分身方案,该方案可以在操作系统层面实现应用程序的分身,具体地,该方案可以通过操作系统多用户特性实现应用程序的主身应用和至少一个分身应用。操作系统多用户是操作系统的发展得来的概念,与操作系统单用户的概念相对应,操作系统多用户是为了共享计算机资源而允许多用户同时使用同一计算机资源而彼此无感知,并且互不影响。Linux系统是标准的多用户操作系统,而Android系统是基于Linux操作系统发展而来的操作系统,自然而然的支持多用户。
操作系统多用户特性可以包括:操作系统用户对应有独立的存储空间;操作系统用户对应有独立的软件管理系统,可选地,该软件管理系统可以允许在一个操作系统用户上安装唯一包名的应用,不可再安装第二个同名的应用。
本申请实施例提供的一种应用程序的分身方案具体可以包括:接收针对应用程序的分身创建请求;响应于所述分身创建请求,获取未安装所述应用程序的存储空间;其中,所述存储空间用于表征提供给操作系统用户的空间;在所述存储空间中创建所述应用程序的分身应用。
假设通过操作系统的用户ID表征操作系统多用户,则操作系统多用户可以包括:用户ID_0、用户ID_1、用户ID_2、…用户ID_N,则用户ID_0可用于实现应用程序的主身应用,用户ID_1、用户ID_2、…用户ID_N可分别用于实现应用程序的N个分身应用,其中,N为正整数。
本申请实施例中,智能终端可用于表示操作系统支持操作系统多用户特性的终端设备。可选地,本申请实施例的智能终端可以包括但不限于:智能手机、平板电脑、电子书阅读器、MP3(动态影像专家压缩标准音频层面3,Moving Picture Experts Group AudioLayer III)播放器、MP4(动态影像专家压缩标准音频层面4,Moving Picture ExpertsGroup Audio Layer IV)播放器、膝上型便携计算机、车载电脑、台式计算机、机顶盒、智能电视机、可穿戴设备等等。进一步可选地,该智能终端的操作系统可以具备多用户特性,如IOS、Android、云OS、Windows等,可以理解,本申请实施例对于具体的智能终端及其采用的智能操作系统不加以限制。
首先,相对于现有方案中第三方APP不稳定或者兼容性不够导致稳定性差的问题,由于操作系统多用户特性为操作系统支持的一个稳定特性,故本申请实施例利用这个稳定特性在操作系统层面实现应用程序的分身,能够提高分身应用的稳定性。
其次,本申请实施例中,在一个应用程序被安装后可分为两个部分:代码部分和数据部分,其中,上述代码部分可以文件或库的形式存在,用于运行应用程序的实例,上述数据部分可用于存储用户在使用应用程序过程中产生的数据。由于本申请实施例利用操作系统的多用户特性实现应用程序的分身,也即,本申请实施例所采用应用程序的分身方式与现有方案中篡改原APP的特定信息的方式不同,故相对于现有方案中分别针对原APP和新APP进行升级操作导致升级操作复杂的问题,本申请实施例中一个应用程序的所有实例(包括主身应用和所有分身应用)可以共用该应用程序的代码部分,因此可以实现主身应用和所有分身应用的同步更新;也即,在主身应用或者任意一个分身应用的代码部分被更新的情况下,主身应用和所有分身应用的代码部分也被同步更新,因此能够提高简化多实例的升级流程。
本申请实施例中,对于一个应用程序,主身应用可用于表示该应用程序在在智能终端中的第一个实例,分身应用可分别表示该应用程序在智能终端中的第i个实例,其中,i为大于1的正整数。可选地,该主身应用可以安装在主操作系统用户ID(例如操作系统用户ID_0)之上,分身应用可以安装在副操作系统用户ID(如操作系统用户ID_1、操作系统用户ID_2、…用户ID_N)。可以理解,主身应用与分身应用对应不同的操作系统用户ID,本申请实施例对于主身应用或者分身应用所对应的具体操作系统用户ID不加以限制。
再者,相对于现有方案中第三方APP仅仅支持原APP的1个分身应用的问题,本申请实施例可以利用智能终端的硬件资源,支持无限多的分身应用和实例数目,因此能够解决分身应用受限的问题。可选地,该实例数目可以不超过实例阈值,所述实例阈值可以为依据智能终端的硬件资源和所述应用程序的实例所占用的硬件资源得到。例如,智能终端的内存为M1,应用程序的实例占用的内存为M2,则支持的实例数目可以为M1/M2,其中,M1和M2均为正整数。
并且,相对于现有方案中第三方APP篡改原APP的特定信息带来的侵犯原APP的版权、著作权等合法权益的问题,本申请实施例可以在不修改原APP的情况下实现应用程序的分身,因此可以避免侵犯开发者的合法权益。
参照图1,示出了本申请的一种应用程序的分身方法实施例的步骤流程图,具体可以包括如下步骤:
步骤101、接收针对应用程序的分身创建请求;
步骤102、响应于所述分身创建请求,获取未安装所述应用程序的存储空间;其中,所述存储空间可用于表征提供给操作系统用户的空间;
步骤103、在所述未安装所述应用程序的存储空间中创建所述应用程序的分身应用。
本申请实施例可以应用于智能终端的操作系统环境中。目前,为了满足用户的个人应用与企业应用相隔离的需求,有些操作系统开发了操作系统多用户的框架及接口,则本申请实施例可以直接使用操作系统多用户的框架,也可以对该用户多模式的框架进行调整,以满足本申请实施例的实际应用需求。
在操作系统多用户的原有框架或者调整后框架的基础上,本申请实施例可以提供分身相关的服务接口,以使智能终端的用户或者应用层的应用程序通过该服务接口实现应用程序的操作。可选地,本申请实施例的服务接口可以包括:分身创建接口、应用升级接口、以及应用卸载接口中的至少一种,其中,分身创建接口可用于创建应用程序的分身应用,应用升级接口可用于对应用程序的所有实例(包括主身应用和分身应用)进行升级,应用卸载接口可用于对应用程序的至少一种实例(包括主身应用和分身应用中的至少一种)进行卸载。可以理解,上述分身创建接口、应用升级接口、以及应用卸载接口只是作为本申请实施例的可选实施例,实际上,任意的可用于实现应用程序的管理的服务接口均在本申请实施例的保护范围之内。
在实际应用中,步骤101的分身创建请求可以与上述分身创建接口的调用请求相应。在本申请的一种可选实施例中,步骤101可以包括:接收桌面程序发送的分身创建请求,其中,所述桌面程序可以响应于用户对于应用程序发出的分身指令,发送所述分身创建请求。也即,若用户针对应用程序发出分身指令,则桌面程序可以响应于该分身指令,向操作系统发送针对应用程序的分身创建请求。在本申请的一种应用示例中,用户针对应用程序发出分身指令的过程可以包括:接收用户针对应用程序的快捷图标的第一预置操作,展现分身创建选项,若接收到用户对于所述分身创建选项的触发操作,则认为用户针对所述应用程序发出了分身指令。其中,上述第一预置操作可以为长按操作、滑动操作、双击操作等与应用程序的启动操作不冲突的任意操作,上述第一预置操作所针对的快捷图标可以为应用程序所包括的主身应用的快捷图标,也可以为应用程序所包括的分身应用的快捷图标。例如,对于某社交类APP,桌面上可以包括该社交类APP对应的各实例的快捷图标,则用户可以针对任意实例的快捷图标发出对应的分身指令,以获得该社交类APP的分身应用。
在接收该分身创建请求后,步骤102可以响应于该分身创建请求,获取未安装所述应用程序的存储空间。操作系统多用户特性可以包括:操作系统用户对应有独立的存储空间;操作系统用户对应有独立的软件管理系统,可选地,该软件管理系统可以允许在一个操作系统用户上安装唯一包名的应用,不可再安装第二个同名的应用。因此,步骤102可以获取未安装所述应用程序的存储空间,作为分身创建请求对应的存储空间。
在本申请的一种可选实施例中,上述响应于所述分身创建请求,获取未安装所述应用程序的存储空间的步骤102对应的获取方式,具体可以包括:
获取方式1、响应于所述分身创建请求,创建操作系统的新操作系统用户,将向所述新操作系统用户提供的存储空间作为未安装所述应用程序的存储空间;或者
获取方式2、响应于所述分身创建请求,从向已有的操作系统用户提供的存储空间中获取未安装所述应用程序的存储空间。
其中,对于获取方式1,由于向新操作系统用户提供的存储空间尚未安装应用横须,因此,可以将向所述新操作系统用户提供的存储空间作为未安装所述应用程序的存储空间。对于获取方式2,向已有的操作系统用户提供的存储空间中有可能包括未安装词分身创建请求对应应用程序的存储空间,因此,可以从中获取未安装所述应用程序的存储空间。可以理解,本领域技术人员可以根据实际应用需求采用上述获取方式1和获取方式2中的任一。
在步骤102获取未安装所述应用程序的存储空间后,步骤103可以在所述未安装所述应用程序的存储空间中创建所述应用程序的分身应用。其中,未安装所述应用程序的存储空间为独立空间,这样,当在所述未安装所述应用程序的存储空间中创建所述应用程序的分身应用后,可以为该应用程序分配相应的子存储空间。
在本申请的一种可选实施例中,所述在所述未安装所述应用程序的存储空间中创建所述应用程序的分身应用的步骤103对应的创建方式,可以包括:
创建方式1、在所述未安装所述应用程序的存储空间中复用所述应用程序的主身应用的代码,并针对所述应用程序的私有数据建立数据目录;或者
创建方式2、依据所述应用程序的安装包,在所述未安装所述应用程序的存储空间中安装所述应用程序的分身应用。
上述创建方式2可以依据所述应用程序的安装包,在所述未安装所述应用程序的存储空间中安装所述应用程序的分身应用。
本申请实施例中,在一个应用程序被安装后可分为两个部分:代码部分和数据部分,其中,上述代码部分可用于运行应用程序的实例,上述数据部分可用于存储用户在使用应用程序过程中产生的数据;由于本申请实施例利用操作系统多用户特性实现应用程序的分身,也即,本申请实施例所采用应用程序的分身方式并未涉及APP的篡改,故本申请实施例中一个应用程序的所有实例(包括主身应用和所有分身应用)可以共用该应用程序的代码部分,这样,在创建应用程序的分身应用的过程中,上述创建方案1可以在不安装安装包的情况下,将应用程序的代码拷贝至未安装所述应用程序的存储空间,并针对所述应用程序的私有数据建立相应的数据目录,建立的数据目录可以作为创建的分身应用的数据部分,用于存储用户在使用应用程序过程中产生的数据。由于上述创建方式1可以不进行安装包的安装,因此能够提高分身应用的创建效率。
可选地,上述应用程序的私有数据可以包括:账号、私有配置等,以社交类APP为例,上述私有配置可用于配置界面的背景,可以理解,本申请实施例对于具体的私有数据不加以限制。
可以理解,本领域技术人员可以根据实际应用需求,采用上述创建方式1和创建方式2中的任一以创建应用程序的分身应用,本申请实施例对于创建应用程序的分身应用所对应的具体创建方式不加以限制。
在本申请的另一种可选实施例中,本申请实施例的方法还可以包括:当在所述未安装所述应用程序的存储空间中成功创建所述应用程序的分身应用后,在桌面上创建所述分身应用的快捷图标。对于本申请实施例的分身应用而言,其可以类似主身应用在桌面上具有对应的快捷图标,这样,不仅可以针对分身应用向用户提供与主身应用一致的操作接口,而且相对于现有方案中用户去第三方APP中开启分身应用的方式,本申请实施例可以使用户直接通过桌面上的快捷图标进行分身应用的开启,故能够提高分身应用的操作效率。
在实际应用中,可以针对分身应用设置与主身应用不同的快捷图标。例如,可以在分身应用的快捷图标上显示对应分身应用的ID或者对应的操作系统用户ID、图形等标识,该标识可以位于快捷图标的上标、下标等位置,以提高分身应用的辨识度。例如,对于某APP,其第一个分身应用的快捷图标在主身应用的快捷图标的基础上增加了下标,该下标展示的是分身应用的ID(如1)或者第一预置图形;其第二个分身应用的快捷图标在主身应用的快捷图标的基础上增加了下标,该下标展示的是分身应用的ID(如2)或者第一预置图形;其中,第一预置图形和第二预置图形的图形对应图案可以相同或者不同,其中,在图案相同时,二者的颜色可以不同。可以理解,本申请实施例对于分身应用的具体快捷图标不加以限制。
参照图2,示出了本申请实施例的一种桌面的示意,其具体可以包括:若干个应用图标的区域201,应用图标的区域201可以包括:主身应用的图标201-A,或者,应用图标的区域201可以包括:主身应用的图标201-A和分身应用的图标201-B,其中,对于同一应用程序而言,主身应用的图标201-A和分身应用的图标201-B相同或者不同。可选地,可以响应于用户对于主身应用的图标201-A或者分身应用的图标201-B的预置操作,弹出分身选项和/或卸载选项,若用户触发了分身选项,则可以认为用户触发了分身指令,若用户触发了卸载选项,则可以认为用户触发了卸载指令。
参照图3,示出了本申请实施例的一种应用图标的区域的示意,其中,可以包括:主身应用的图标和若干个分身应用的图标,其中,主身应用的图标可以不带有下标,分身应用的图标可以带有下标,且不同分身应用的图标对应的下标颜色可以不同,由此可以实现主身应用和分身应用、以及分身应用之间的辨识度。并且,用户还可以通过触发图3中的“+”按钮,产生分身指令。
目前,例如Android系统的操作系统多用户,其原本的设计目的是为了隔离,比如其给出的一种使用场景,即可创建两个用户:一个用户安装使用者的私人应用,另一个用户安装使用者的企业应用。私人应用与企业应用彼此相隔离,互不影响。因此,目前不同操作系统用户的数据区是相互隔离的,彼此间不可见,也即,一个存储空间对应的应用并不具备对于其他存储空间对应数据区的访问权限。例如,操作系统可以将不同存储空间的数据区的数据置于沙箱中,以通过沙箱实现不同操作系统用户的数据区之间的相互隔离。
在本申请的再一种可选实施例中,所述存储空间可以包括:数据区,一个存储空间对应的应用具备对于其他存储空间对应数据区的访问权限。其中,上述数据区可用于存储用户在使用主身应用或者各分身应用的过程中产生的数据。可选地,上述数据区中的数据可以包括:主身应用或者各分身应用的公共数据和/或私有数据等。本申请实施例可以支持不同存储空间对应的应用之间的相互访问,故能够满足用户在应用分身的特定场景下不同存储空间对应应用之间的数据访问需求。
在本申请的一种应用示例中,假设用户在智能终端上安装了社交类APP的主身应用和分身应用(假设称为分身应用1、分身应用2等),若用户欲要将其中一个分身应用产生或接收的图片、视频或者文件在主身应用或者其他分身应用上传输,则可以通过本申请实施例中不同存储空间的数据区之间的相互访问,实现分身应用与主身应用之间、或者分身应用之间的数据访问需求。需要说明的是,不同存储空间的数据区的相互访问不仅可以包括:同一APP的分身应用与主身应用之间、或者分身应用之间的数据访问,也可以包括:不同APP的分身应用与主身应用之间、或者分身应用之间的数据访问。例如,操作系统用户ID_0之上相机类APP产生的图片可供操作系统用户ID_1、操作系统用户ID_2、…操作系统用户ID_N之上的社交类APP访问,可以理解,本申请实施例对于具体的相互访问方式不加以限制。
参照图4,示出了本申请的一种基于操作系统多用户的存储空间的结构示意,其中,操作系统用户ID_0、操作系统用户ID_1、操作系统用户ID_2、…操作系统用户ID_N均安装有APP1、APP2、APP3和APP4,其中,这些操作系统用户ID的存储空间可以包括代码区201和数据区202,其中,代码区201可用于存储所安装APP的代码部分,数据区202可用于存储所安装APP的数据部分,其中,各操作系统用户ID的数据区中的各APP实例可以具有独立的存储空间;且多操作系统用户ID之间的数据区202是可相互访问的。
在本申请的一种可选实施例中,可以通过相同的数据库保存不同存储空间对应数据区的存储路径,以通过所述数据库向一个存储空间对应的应用提供其他存储空间对应数据区中的数据。例如,所有的主身应用和分身应用接收到的图片、和/或使用相机拍摄的图片都保存在各自的存储空间,但是将这些图片的路径信息放于同一数据库中;这样,可以向分身应用或主身应用提供相同的图库列表,以使分身应用或主身应用访问该图库列表中的图片。可选地,该图库列表可以包括:所有的主身应用和分身应用接收到的图片、和/或使用相机拍摄的图片。
在本申请的又一种可选实施例中,在所述响应于所述分身创建请求,获取未安装所述应用程序的存储空间;其中,所述存储空间用于表征提供给操作系统用户的空间的步骤102之前,本申请实施例的方法还可以包括:判断所述应用程序的实例是否超过实例阈值,若否,则执行所述响应于所述分身创建请求,获取未安装所述应用程序的存储空间;其中,所述存储空间用于表征提供给操作系统用户的空间的步骤102。
本申请实施例的上述实例阈值可用于表示支持的实例数目的上限,在实际应用中,所述实例阈值可以为依据智能终端的硬件资源和所述应用程序的实例所占用的硬件资源得到,也即,可以依据智能终端的硬件资源和应用程序的一个实例所占用的硬件资源确定上述实例阈值。例如,智能终端的内存为M1,应用程序的一个实例占用的内存为M2,则支持的实例数目可以为M1/M2,其中,M1和M2均为正整数。
上述判断所述应用程序的实例是否超过实例阈值,能够避免应用程序的实例数目超过实例阈值导致的智能终端性能不佳等问题。
可以理解,当判断所述应用程序的实例是否超过实例阈值的判断结果为是时,本申请实施例可以发出相应的提示信息,例如,该提示信息可以为多实例数目达到上限、或者分身应用数目达到上限等。
综上,本申请实施例的应用程序的分身方法,利用操作系统多用户特性,通过操作系统的多个用户ID实现应用程序的主身应用和至少一个分身应用,本申请实施例具有如下优点:
首先,相对于现有方案中第三方APP不稳定或者兼容性不够导致稳定性差的问题,由于多用户特性为操作系统支持的一个稳定特性,故本申请实施例利用这个稳定特性在操作系统层面实现应用程序的分身,能够提高分身应用的稳定性。
其次,本申请实施例所采用应用程序的分身方式与不涉及应用程序信息的修改,故相对于现有方案中分别针对原APP和新APP进行升级操作导致升级操作复杂的问题,本申请实施例中一个应用程序的所有实例(包括主身应用和所有分身应用)可以共用该应用程序的代码部分,因此可以实现主身应用和所有分身应用的同步更新;也即,在主身应用或者任意一个分身应用的代码部分被更新的情况下,主身应用和所有分身应用的代码部分也被同步更新,因此能够提高简化多实例的升级流程。且本申请实施例的升级可以不涉及各实例的数据部分,因此能够保证各实例的数据部分的独立性。
再者,相对于现有方案中第三方APP仅仅支持原APP的1个分身应用的问题,本申请实施例可以利用智能终端的硬件资源,支持无限多的分身应用和实例数目,通常,本申请实例支持的实例数目可达到8甚至更多,因此能够解决分身应用受限的问题。
此外,由于本申请实施例在操作系统层面实现应用程序的分身,故可以实现对于一个应用程序的所有实例的统一管理。可选地,可以在桌面上针对一个应用程序的所有实例设置对应的快捷图标,这样,可以针对主身应用和分身应用向用户提供统一的用户操作界面(桌面),主身应用的快捷图标与分身应用的快捷图标分别列于桌面上,用户触发对应的快捷图标即可启动相应的主身应用或分身应用,故能够提高用户对于分身应用的操作效率;或者,可以对一个应用程序的所有实例对应任务进行统一管理,这样,可以使分身应用在任务管理界面具有与主身应用同等被展现的机会,提高分身应用的透明性;例如,可以响应于用户对于HOME键(具有返回功能的键)的触发指令,展示多用户ID上运行的所有主身应用和分身应用对应的任务,以便于用户对于分身应用对应任务的管理。
需要说明的是,由于本申请实施例所采用应用程序的分身方式与不涉及应用程序信息的修改,故当本申请实施例的分身应用启动并运行后,运行状态的分身应用于操作系统中的其他应用没有任何区别,这样可以较好地保证分身应用对于系统资源的申请及兼容性。
参照图5,示出了本申请的另一种应用程序的分身方法实施例的步骤流程图,具体可以包括如下步骤:
步骤501、接收针对应用程序的分身创建请求;
步骤502、判断所述应用程序的实例是否超过实例阈值,若是,则执行步骤506,否则执行步骤503;
步骤503、创建操作系统的新操作系统用户,将向所述新操作系统用户提供的空间作为未安装所述应用程序的存储空间;
步骤504、在所述未安装所述应用程序的存储空间中创建所述应用程序的分身应用;
步骤505、当在所述未安装所述应用程序的存储空间中成功创建所述应用程序的分身应用后,在桌面上创建所述分身应用的快捷图标;
步骤506、发出分身应用数目达到上限的提示信息。
本实施例中,上述判断所述应用程序的实例是否超过实例阈值,能够避免应用程序的实例数目超过实例阈值导致的智能终端性能不佳等问题。
并且,本实施例当在未安装应用程序的存储空间中成功创建所述应用程序的分身应用后,在桌面上创建所述分身应用的快捷图标;这样,可以针对主身应用和分身应用向用户提供统一的用户操作界面(桌面),主身应用的快捷图标与分身应用的快捷图标分别列于桌面上,用户触发对应的快捷图标即可启动相应的主身应用或分身应用,故能够提高用户对于分身应用的操作效率。
参照图6,示出了本申请的再一种应用程序的分身方法实施例的步骤流程图,具体可以包括如下步骤:
步骤601、接收针对应用程序的分身创建请求;
步骤602、响应于所述分身创建请求,获取未安装所述应用程序的存储空间;
步骤603、在所述未安装所述应用程序的存储空间中创建所述应用程序的分身应用;
相对于图1或者图5所示方法实施例,本实施例的方法还可以包括:
步骤604、接收针对应用程序的卸载请求;
步骤605、在所述卸载请求对应的快捷图标为主身应用的快捷图标时,在所述卸载请求对应应用程序的存储空间中卸载所述应用程序对应的主身应用、或者主身应用和分身应用;或者
步骤606、在所述卸载请求对应的快捷图标为分身应用的快捷图标时,在所述分身应用所对应的存储空间中卸载所述分身应用。
本实施例可以依据针对应用程序的卸载请求,实现对于该应用程序的所有应用或者其中一个分身应用的卸载。
在实际应用中,步骤604的卸载请求可以与上述应用卸载接口的调用请求相应。在本申请的一种可选实施例中,步骤604可以包括:接收桌面程序发送的卸载请求,其中,所述桌面程序可以响应于用户对于应用程序发出的卸载指令,发送所述卸载请求。也即,若用户针对应用程序发出卸载指令,则桌面程序可以响应于该卸载指令,向操作系统发送针对应用程序的卸载请求。其中,该卸载请求对应的应用程序与步骤601中分身创建请求对应的应用程序可以相同或者不同。
在本申请的一种应用示例中,用户针对应用程序发出卸载指令的过程可以包括:接收用户针对应用程序的快捷图标的第二预置操作,展现卸载选项,若接收到用户对于所述卸载选项的触发操作,则认为用户针对所述应用程序发出了卸载指令。
上述第二预置操作所针对的快捷图标也即上述卸载请求所针对的快捷图标,其中,上述第二预置操作所针对的快捷图标可以为应用程序所包括的主身应用的快捷图标,此种情况下,说明用户的卸载意图为卸载整个应用程序,故可以通过605卸载应用程序所包括的主身应用和所有分身应用。
或者,上述第二预置操作所针对的快捷图标可以为应用程序所包括的分身应用的快捷图标,此种情况下,说明用户的卸载意图为卸载该快捷图标对应的分身应用,故可以通过步骤606在所述分身应用所对应操作系统用户ID的存储空间中卸载所述分身应用。也即,步骤605和步骤606为并列执行的步骤,本领域技术人员可以根据实际应用需求择一执行步骤605或者步骤606。
可选地,在执行步骤605后,还可以在桌面上删除应用程序所包括的主身应用和所有分身应用对应的快捷图标;在执行步骤606后,还可以在桌面上删除应用程序的被卸载的分身应用对应的快捷图标。
参照图7,示出了本申请的又一种应用程序的分身方法实施例的步骤流程图,具体可以包括如下步骤:
步骤701、接收针对应用程序的分身创建请求;
步骤702、响应于所述分身创建请求,获取未安装所述应用程序的存储空间;
步骤703、在所述未安装所述应用程序的存储空间中创建所述应用程序的分身应用;
相对于图1或者图5或者图6所示方法实施例,本实施例的方法还可以包括:
步骤704、接收第一存储空间对应的应用发送的消息请求;
步骤706、判断所述消息请求是否符合预置消息规则;所述预置消息规则用于表示第一存储空间与第二存储空间之间消息请求的传递规则;
步骤707、在所述消息请求符合预置消息规则时,向所述消息请求所对应第二存储空间对应的应用发送所述消息请求,以使所述第二存储空间对应的应用响应所述消息请求。
目前,操作系统的应用程序内部或者应用程序之间通常使用消息来传递数据或访问系统资源,进而实现同一应用程序的不同界面及不同应用程序间对于系统资源的切换或访问。
为了实现并规范操作系统用户对应不同存储空间的应用程序之间的消息传递,本申请实施例提供了预置消息规则,所述预置消息规则用于表示第一存储空间与第二存储空间之间消息请求的传递规则,第一存储空间可用于表示消息请求来自哪个存储空间也即消息请求的来源,第二存储空间可用于表示能够接收消息请求的存储空间,在实际应用中,可通过操作系统用户ID来表征存储空间,预置消息规则可以明确哪些消息请求可由哪个源操作系统用户ID发送给哪个目的操作系统用户ID,使得不同操作系统用户对应的不同操作系统用户之间可以基于预置消息规则进行消息通信,由此可以提高不同存储空间之间通信的安全性,且能够提高用户体验。
可选地,所述消息请求可以包括:用户通过第一存储空间对应的应用触发的、对于第二存储空间对应数据区中数据的操作请求。例如,第一存储空间为分身应用所在的存储空间,第二存储空间为主身应用所在的存储空间,则可以向分身应用呈现数据库,该数据库可以包括:不同存储空间对应数据区的存储路径,以通过所述数据库向一个存储空间对应的应用提供其他存储空间对应数据区中的数据;进一步,用户可以通过触发数据库中的数据,触发上述消息请求。
在本申请的一种可选实施例中,所述预置消息规则对应的消息类型具体可以包括:拨打电话相关消息、短信操作相关消息、网络操作相关消息、屏幕操作相关消息、文件操作相关消息、图片相关操作消息、以及应用安装相关消息中的至少一种。以图片相关操作消息为例,用于获得系统资源的相机类APP通常安装在主操作用户ID之上,而无法在副操作用户ID之上进行分身,这样,若副操作用户ID之上的分身应用若存在访问相机类APP的系统资源的访问需求,则可以预置相应预置消息规则,如消息类型为图片相关操作消息,源操作用户ID为任意的副用户ID,目的操作用户ID为主操作用户ID等。可以理解,本领域技术人员可以根据实际应用需求预置所需的预置消息规则,本申请实施例对于具体的预置消息规则不加以限制。
在实际应用中,例如消息管理器的消息管理模块可以首先在第一存储空间上尝试响应该消息请求,若第一存储空间对应的应用不具备响应所述消息请求的条件(例如,一些系统组件(如拍照组件),无法在副操作系统用户ID安装,因此,副操作系统用户对应的应用不具备响应拍照请求的条件),或者若第一存储空间对应的应用无法响应所述消息请求(也即尝试响应失败),则可以利用预置消息规则获得该消息请求对应的第二存储空间,该第二存储空间可以与目的操作系统用户ID相应。具体地,可以将该消息请求的第一操作系统用户ID和消息类型与预置消息规则的源操作系统用户ID和预置消息类型进行匹配,若匹配成功,则可以得到对应的目的操作系统用户ID,并向所述消息请求对应的目的操作系统用户ID发送所述消息请求,以使所述目的操作系统用户ID响应所述消息请求。
需要说明的是,在该消息请求的第一操作系统用户ID和消息类型与所有预置消息规则的源操作系统用户ID和预置消息类型均匹配失败时,将无法得到该消息请求对应的目的操作系统用户ID,因此可以发出例如消息请求无响应的提示信息。
为使本领域技术人员更好地理解本申请实施例,参照图8,示出了本申请的一种不同存储空间的应用之间的消息通信方法实施例的步骤流程图,具体可以包括如下步骤:
步骤801、接收操作系统用户ID_x对应第一存储空间的应用发送的消息请求;
步骤802、判断操作系统用户ID_x是否具备响应该消息请求的条件,若是,则执行步骤803,否则执行步骤604;
步骤803、在操作系统用户ID_x上尝试响应该消息请求;
步骤804、依据操作系统用户ID_x和该消息请求的消息类型,在预置消息规则集中进行查找,以得到与操作系统用户ID_x和该消息请求的消息类型相匹配的目的用户ID;
其中,该预置消息规则集为预置消息规则的集合,用于存储多条预置消息规则。
步骤805、判断是否查找命中,若是,则执行步骤806,否则执行步骤807;
步骤806、向查找得到的操作系统用户ID_y发送所述消息请求,以使操作系统用户ID_y响应所述消息请求;
步骤807、发出消息请求无响应的提示信息。
其中,操作系统用户ID_x与操作系统用户ID_y可以为不同的操作系统用户。
在本申请的一种应用示例中,假设用户在智能终端上安装了微信APP的主身应用和分身应用(假设称为分身应用1、分身应用2等),若用户欲要将其中一个分身应用产生或接收的图片、视频或者文件在主身应用或者其他分身应用上传输,则可以通过不同存储空间之间的数据区的相互访问,实现分身应用与主身应用之间、或者分身应用之间的数据访问需求。
例如,用户点击微信APP的“+”按钮,弹出“相册”,该相册可以显示所有主身应用和分身应用的图片,若用户触发了相册中的某图片P,该图片P位于操作系统用户ID_y对应的存储空间,则分身应用1对应的操作系统用户ID_x可以发送消息请求;消息处理器处理该消息请求,并向主身应用对应的操作系统用户ID_y发送该消息请求,若操作系统用户ID_y响应该消息请求,则可以对该图片P进行传输,例如传输给用户的好友等。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。
本申请实施例还提供了一种应用程序的分身装置。
参照图9,示出了本申请一种应用程序的分身装置实施例的结构框图,具体可以包括如下模块:
创建请求接收模块901,用于接收针对应用程序的分身创建请求;
存储空间获取模块902,用于响应于所述分身创建请求,获取未安装所述应用程序的存储空间;其中,所述存储空间用于表征提供给操作系统用户的空间;
分身应用创建模块903,用于在所述未安装所述应用程序的存储空间中创建所述应用程序的分身应用。
可选地,所述存储空间可以包括:数据区,一个存储空间对应的应用具备对于其他存储空间对应数据区的访问权限。
可选地,通过相同的数据库保存不同存储空间对应数据区的存储路径,以通过所述数据库向一个存储空间对应的应用提供其他存储空间对应数据区中的数据。
可选地,所述装置还可以包括:
消息请求接收模块,用于接收第一存储空间对应的应用发送的消息请求;
判断模块,用于判断所述消息请求是否符合预置消息规则;所述预置消息规则用于表示第一存储空间与第二存储空间之间消息请求的传递规则;
消息请求发送模块,用于在所述消息请求符合预置消息规则时,向所述消息请求所对应第二存储空间对应的应用发送所述消息请求,以使所述第二存储空间对应的应用响应所述消息请求。
可选地,所述消息请求可以包括:用户通过第一存储空间对应的应用触发的、对于第二存储空间对应数据区中数据的操作请求。
可选地,所述预置消息规则对应的消息类型可以包括:拨打电话相关消息、短信操作相关消息、网络操作相关消息、屏幕操作相关消息、文件操作相关消息、图片相关操作消息、以及应用安装相关消息中的至少一种。
可选地,所述判断模块,具体用于在第一存储空间对应的应用不具备响应所述消息请求的条件、或者无法响应所述消息请求时,判断所述消息请求是否符合预置消息规则。
可选地,所述装置还可以包括:
实例判断模块,用于在所述存储空间获取模块响应于所述分身创建请求,获取未安装所述应用程序的存储空间之前,判断所述应用程序的实例是否超过实例阈值,若否,则响应于所述分身创建请求,获取未安装所述应用程序的存储空间。
可选地,所述实例阈值为依据智能终端的硬件资源和所述应用程序的实例所占用的硬件资源得到。
可选地,所述分身应用创建模块可以包括:
第一创建子模块,用于在所述未安装所述应用程序的存储空间中复用所述应用程序的主身应用的代码,并针对所述应用程序的私有数据建立数据目录;或者
第二创建子模块,用于依据所述应用程序的安装包,在所述未安装所述应用程序的存储空间中安装所述应用程序的分身应用。
可选地,所述存储空间获取模块可以包括:
第一获取子模块,用于响应于所述分身创建请求,创建操作系统的新操作系统用户,将向所述新操作系统用户提供的存储空间作为未安装所述应用程序的存储空间;或者
第二获取子模块,用于响应于所述分身创建请求,从向已有的操作系统用户提供的存储空间中获取未安装所述应用程序的存储空间。
可选地,所述创建请求接收模块可以包括:
接收子模块,用于接收桌面程序发送的分身创建请求;其中,所述桌面程序响应于用户对于应用程序触发的分身指令,发送所述分身创建请求。
可选地,所述装置还可以包括:
图标创建模块,用于当在所述未安装所述应用程序的存储空间中成功创建所述应用程序的分身应用后,在桌面上创建所述分身应用的快捷图标。
可选地,所述装置还可以包括:
卸载请求接收模块,用于接收针对应用程序的卸载请求;
第一卸载模块,用于在所述卸载请求对应的快捷图标为主身应用的快捷图标时,在所述卸载请求对应应用程序的存储空间中卸载所述应用程序对应的主身应用、或者主身应用和分身应用;或者
第二卸载模块,用于在所述卸载请求对应的快捷图标为分身应用的快捷图标时,在所述分身应用所对应的存储空间中卸载所述分身应用。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请实施例还提供了一种设备,该设备可以包括:一个或多个处理器;和其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述设备执行图1至图8一个或多个所述的方法。在实际应用中,该设备可以作为终端,也可以作为服务器,终端的例子可以包括:智能手机、平板电脑、电子书阅读器、MP3(动态影像专家压缩标准音频层面3,Moving Picture Experts Group Audio Layer III)播放器、MP4(动态影像专家压缩标准音频层面4,Moving Picture Experts Group Audio Layer IV)播放器、膝上型便携计算机、车载电脑、台式计算机、机顶盒、智能电视机、可穿戴设备等等,本申请实施例对于具体的设备不加以限制。
本申请实施例还提供了一种非易失性可读存储介质,该存储介质中存储有一个或多个模块(programs),该一个或多个模块被应用在设备时,可以使得该设备执行本申请实施例的图1至图8中一个或多个方法所包含步骤的指令(instructions)。
图10为本申请一实施例提供的终端设备的硬件结构示意图。如图10所示,该终端设备可以包括:输入设备1100、处理器1101、输出设备1102、存储器1103和至少一个通信总线1104。通信总线1104用于实现元件之间的通信连接。存储器1103可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器,存储器1103中可以存储各种程序,用于完成各种处理功能以及实现本实施例的方法步骤。
可选的,上述处理器1101例如可以为中央处理器(Central Processing Unit,简称CPU)、应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,该处理器1101通过有线或无线连接耦合到上述输入设备1100和输出设备1102。
可选的,上述输入设备1100可以包括多种输入设备,例如可以包括面向用户的用户接口、面向设备的设备接口、软件的可编程接口、摄像头、传感器中至少一种。可选的,该面向设备的设备接口可以是用于设备与设备之间进行数据传输的有线接口、还可以是用于设备与设备之间进行数据传输的硬件插入接口(例如USB接口、串口等);可选的,该面向用户的用户接口例如可以是面向用户的控制按键、用于接收语音输入的语音输入设备以及用户接收用户触摸输入的触摸感知设备(例如具有触摸感应功能的触摸屏、触控板等);可选的,上述软件的可编程接口例如可以是供用户编辑或者修改程序的入口,例如芯片的输入引脚接口或者输入接口等;可选的,上述收发信机可以是具有通信功能的射频收发芯片、基带处理芯片以及收发天线等。麦克风等音频输入设备可以接收语音数据。输出设备1102可以包括显示器、音响等输出设备。
在本实施例中,该终端设备的处理器包括用于执行各设备中数据处理装置各模块的功能,具体功能和技术效果参照上述实施例即可,此处不再赘述。
图11为本申请的一个实施例提供的终端设备的硬件结构示意图。图11是对图10在实现过程中的一个具体的实施例。如图11所示,本实施例的终端设备可以包括处理器1301以及存储器1302。
处理器1301执行存储器1302所存放的计算机程序代码,实现上述实施例中图1至图8中一个或多个所示的方法。
存储器1302被配置为存储各种类型的数据以支持在终端设备的操作。这些数据的示例包括用于在终端设备上操作的任何应用程序或方法的指令,例如消息,图片,视频等。存储器1302可能包含随机存取存储器(random access memory,简称RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
可选地,处理器1301设置在处理组件1300中。该终端设备还可以包括:通信组件1303,电源组件1304,多媒体组件1305,音频组件1306,输入/输出接口1307和/或传感器组件1308。终端设备具体所包含的组件等依据实际需求设定,本实施例对此不作限定。
处理组件1300通常控制终端设备的整体操作。处理组件1300可以包括一个或多个处理器1301来执行指令,以完成上述图1至图8所示方法的全部或部分步骤。此外,处理组件1300可以包括一个或多个模块,便于处理组件1300和其他组件之间的交互。例如,处理组件1300可以包括多媒体模块,以方便多媒体组件1305和处理组件1300之间的交互。
电源组件1304为终端设备的各种组件提供电力。电源组件1304可以包括电源管理系统,一个或多个电源,及其他与为终端设备生成、管理和分配电力相关联的组件。
多媒体组件1305包括在终端设备和用户之间的提供一个输出接口的显示屏。在一些实施例中,显示屏可以包括液晶显示器(LCD)和触摸面板(TP)。如果显示屏包括触摸面板,显示屏可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。
音频组件1306被配置为输出和/或输入音频信号。例如,音频组件1306包括一个麦克风(MIC),当终端设备处于操作模式,如语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器1302或经由通信组件1303发送。在一些实施例中,音频组件1306还包括一个扬声器,用于输出音频信号。
输入/输出接口1307为处理组件1300和外围接口模块之间提供接口,上述外围接口模块可以是点击轮,按钮等。这些按钮可包括但不限于:音量按钮、启动按钮和锁定按钮。
传感器组件1308包括一个或多个传感器,用于为终端设备提供各个方面的状态评估。例如,传感器组件1308可以检测到终端设备的打开/关闭状态,组件的相对定位,用户与终端设备接触的存在或不存在。传感器组件1308可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在,包括检测用户与终端设备间的距离。在一些实施例中,该传感器组件1308还可以包括摄像头等。
通信组件1303被配置为便于终端设备和其他设备之间有线或无线方式的通信。终端设备可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个实施例中,该终端设备中可以包括SIM卡插槽,该SIM卡插槽用于插入SIM卡,使得终端设备可以登录GPRS网络,通过互联网与服务器建立通信。
由上可知,在图11实施例中所涉及的通信组件1303、音频组件1306以及输入/输出接口1307、传感器组件1308均可以作为图10实施例中的输入设备的实现方式。
本申请实施例还提供了一种用于设备的操作系统,如图12所示,该用于设备的操作系统可以包括:
创建请求接收单元1201,用于接收针对应用程序的分身创建请求;
存储空间获取单元1202,用于响应于所述分身创建请求,获取未安装所述应用程序的存储空间;其中,所述存储空间用于表征提供给操作系统用户的空间;
分身应用创建单元1203,用于在所述未安装所述应用程序的存储空间中创建所述应用程序的分身应用。
可选地,通过相同的数据库保存不同存储空间对应数据区的存储路径,以通过所述数据库向一个存储空间对应的应用提供其他存储空间对应数据区中的数据。
可选地,所述操作系统还可以包括:
消息请求接收单元,用于接收第一存储空间对应的应用发送的消息请求;
判断单元,用于判断所述消息请求是否符合预置消息规则;所述预置消息规则用于表示第一存储空间与第二存储空间之间消息请求的传递规则;
消息请求发送单元,用于在所述消息请求符合预置消息规则时,向所述消息请求所对应第二存储空间对应的应用发送所述消息请求,以使所述第二存储空间对应的应用响应所述消息请求。
可选地,所述消息请求可以包括:用户通过第一存储空间对应的应用触发的、对于第二存储空间对应数据区中数据的操作请求。
可选地,所述预置消息规则对应的消息类型可以包括:拨打电话相关消息、短信操作相关消息、网络操作相关消息、屏幕操作相关消息、文件操作相关消息、图片相关操作消息、以及应用安装相关消息中的至少一种。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
在一个典型的配置中,所述计算机设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非持续性的电脑可读媒体(transitory media),如调制的数据信号和载波。
本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种应用程序的分身方法、一种应用程序的分身装置、一种设备、一种机器可读介质以及一种用于设备的操作系统,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (21)
1.一种应用程序的分身方法,其特征在于,包括:
接收针对应用程序的分身创建请求;
响应于所述分身创建请求,获取未安装所述应用程序的存储空间;其中,所述存储空间用于表征提供给操作系统用户的空间;
在所述未安装所述应用程序的存储空间中创建所述应用程序的分身应用;
所述方法还包括:
在所述应用程序的第一分身应用的界面下展示所述应用程序的主身应用和至少一个第二分身应用对应的数据;
若接收到用户针对所述数据的触发操作,则向所述数据对应的主身应用或第二分身应用对应的目标操作系统用户,发送消息请求;
若接收到所述目标操作系统用户针对所述消息请求的响应,则允许用户在所述第一分身应用的环境下对于所述数据的使用操作。
2.根据权利要求1所述的方法,其特征在于,所述存储空间包括:数据区,一个存储空间对应的应用具备对于其他存储空间对应数据区的访问权限。
3.根据权利要求2所述的方法,其特征在于,通过相同的数据库保存不同存储空间对应数据区的存储路径,以通过所述数据库向一个存储空间对应的应用提供其他存储空间对应数据区中的数据。
4.根据权利要求2或3所述的方法,其特征在于,所述方法还包括:
接收第一存储空间对应的应用发送的消息请求;
判断所述消息请求是否符合预置消息规则;所述预置消息规则用于表示第一存储空间与第二存储空间之间消息请求的传递规则;
在所述消息请求符合预置消息规则时,向所述消息请求所对应第二存储空间对应的应用发送所述消息请求,以使所述第二存储空间对应的应用响应所述消息请求。
5.根据权利要求4所述的方法,其特征在于,所述消息请求包括:用户通过第一存储空间对应的应用触发的、对于第二存储空间对应数据区中数据的操作请求。
6.根据权利要求4所述的方法,其特征在于,所述预置消息规则对应的消息类型包括:拨打电话相关消息、短信操作相关消息、网络操作相关消息、屏幕操作相关消息、文件操作相关消息、图片相关操作消息、以及应用安装相关消息中的至少一种。
7.根据权利要求4所述的方法,其特征在于,所述判断所述消息请求是否符合预置消息规则,包括:
在第一存储空间对应的应用不具备响应所述消息请求的条件、或者无法响应所述消息请求时,判断所述消息请求是否符合预置消息规则。
8.根据权利要求1至3中任一所述的方法,其特征在于,在所述响应于所述分身创建请求,获取未安装所述应用程序的存储空间之前,所述方法还包括:
判断所述应用程序的实例是否超过实例阈值,若否,则响应于所述分身创建请求,获取未安装所述应用程序的存储空间。
9.根据权利要求8所述的方法,其特征在于,所述实例阈值为依据智能终端的硬件资源和所述应用程序的实例所占用的硬件资源得到。
10.根据权利要求1至3中任一所述的方法,其特征在于,所述在所述未安装所述应用程序的存储空间中创建所述应用程序的分身应用,包括:
在所述未安装所述应用程序的存储空间中复用所述应用程序的主身应用的代码,并针对所述应用程序的私有数据建立数据目录;或者
依据所述应用程序的安装包,在所述未安装所述应用程序的存储空间中安装所述应用程序的分身应用。
11.根据权利要求1至3中任一所述的方法,其特征在于,所述响应于所述分身创建请求,获取未安装所述应用程序的存储空间,包括:
响应于所述分身创建请求,创建操作系统的新操作系统用户,将向所述新操作系统用户提供的存储空间作为未安装所述应用程序的存储空间;或者
响应于所述分身创建请求,从向已有的操作系统用户提供的存储空间中获取未安装所述应用程序的存储空间。
12.根据权利要求1至3中任一所述的方法,其特征在于,所述接收针对应用程序的分身创建请求,包括:
接收桌面程序发送的分身创建请求;其中,所述桌面程序响应于用户对于应用程序触发的分身指令,发送所述分身创建请求。
13.根据权利要求1至3中任一所述的方法,其特征在于,所述方法还包括:
当在所述未安装所述应用程序的存储空间中成功创建所述应用程序的分身应用后,在桌面上创建所述分身应用的快捷图标。
14.根据权利要求1至3中任一所述的方法,其特征在于,所述方法还包括:
接收针对应用程序的卸载请求;
在所述卸载请求对应的快捷图标为主身应用的快捷图标时,在所述卸载请求对应应用程序的存储空间中卸载所述应用程序对应的主身应用、或者主身应用和分身应用;或者
在所述卸载请求对应的快捷图标为分身应用的快捷图标时,在所述分身应用所对应的存储空间中卸载所述分身应用。
15.一种应用程序的分身装置,其特征在于,包括:
创建请求接收模块,用于接收针对应用程序的分身创建请求;
存储空间获取模块,用于响应于所述分身创建请求,获取未安装所述应用程序的存储空间;其中,所述存储空间用于表征提供给操作系统用户的空间;
分身应用创建模块,用于在所述未安装所述应用程序的存储空间中创建所述应用程序的分身应用;
所述装置还包括:
展示模块,用于在所述应用程序的第一分身应用的界面下展示所述应用程序的主身应用和至少一个第二分身应用对应的数据;
发送模块,用于若接收到用户针对所述数据的触发操作,则向所述数据对应的主身应用或第二分身应用对应的目标操作系统用户,发送消息请求;
允许模块,用于若接收到所述目标操作系统用户针对所述消息请求的响应,则允许用户在所述第一分身应用的环境下对于所述数据的使用操作。
16.根据权利要求15所述的装置,其特征在于,所述存储空间包括:数据区,一个存储空间对应的应用具备对于其他存储空间对应数据区的访问权限。
17.根据权利要求16所述的装置,其特征在于,通过相同的数据库保存不同存储空间对应数据区的存储路径,以通过所述数据库向一个存储空间对应的应用提供其他存储空间对应数据区中的数据。
18.根据权利要求16或17所述的装置,其特征在于,所述装置还包括:
消息请求接收模块,用于接收第一存储空间对应的应用发送的消息请求;
判断模块,用于判断所述消息请求是否符合预置消息规则;所述预置消息规则用于表示第一存储空间与第二存储空间之间消息请求的传递规则;
消息请求发送模块,用于在所述消息请求符合预置消息规则时,向所述消息请求所对应第二存储空间对应的应用发送所述消息请求,以使所述第二存储空间对应的应用响应所述消息请求。
19.一种用于应用程序的分身的设备,其特征在于,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行所述指令时,使得所述设备执行如权利要求1-14中任一项所述的方法。
20.一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行所述指令时,使得设备执行如权利要求1-14中任一项所述的方法。
21.一种用于设备的操作系统,其特征在于,包括:
创建请求接收单元,用于接收针对应用程序的分身创建请求;
存储空间获取单元,用于响应于所述分身创建请求,获取未安装所述应用程序的存储空间;其中,所述存储空间用于表征提供给操作系统用户的空间;
分身应用创建单元,用于在所述未安装所述应用程序的存储空间中创建所述应用程序的分身应用;
展示单元,用于在所述应用程序的第一分身应用的界面下展示所述应用程序的主身应用和至少一个第二分身应用对应的数据;
发送单元,用于若接收到用户针对所述数据的触发操作,则向所述数据对应的主身应用或第二分身应用对应的目标操作系统用户,发送消息请求;
允许单元,用于若接收到所述目标操作系统用户针对所述消息请求的响应,则允许用户在所述第一分身应用的环境下对于所述数据的使用操作。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710587321.XA CN109271211B (zh) | 2017-07-18 | 2017-07-18 | 应用程序的分身方法、装置、设备和介质 |
PCT/CN2018/094829 WO2019015491A1 (zh) | 2017-07-18 | 2018-07-06 | 应用程序的分身方法、装置、设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710587321.XA CN109271211B (zh) | 2017-07-18 | 2017-07-18 | 应用程序的分身方法、装置、设备和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109271211A CN109271211A (zh) | 2019-01-25 |
CN109271211B true CN109271211B (zh) | 2021-03-26 |
Family
ID=65016190
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710587321.XA Active CN109271211B (zh) | 2017-07-18 | 2017-07-18 | 应用程序的分身方法、装置、设备和介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN109271211B (zh) |
WO (1) | WO2019015491A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112114719B (zh) * | 2019-06-19 | 2022-02-22 | 青岛海信移动通信技术股份有限公司 | 一种应用分身方法及装置 |
CN110231975A (zh) * | 2019-06-20 | 2019-09-13 | 京东方科技集团股份有限公司 | 一种应用程序处理方法、装置及电子设备 |
CN110851823B (zh) * | 2019-11-12 | 2023-03-10 | 腾讯科技(深圳)有限公司 | 数据访问方法、装置、终端及存储介质 |
CN111142939B (zh) * | 2019-12-11 | 2023-04-07 | 北京小米移动软件有限公司 | 应用程序处理方法及装置 |
CN114637441A (zh) * | 2020-12-15 | 2022-06-17 | 华为技术有限公司 | 空间管理的方法、装置、电子设备和可读存储介质 |
CN114185462A (zh) * | 2021-11-05 | 2022-03-15 | 北京来也网络科技有限公司 | 基于ai和rpa系统分身窗口的控制方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106357921A (zh) * | 2016-10-10 | 2017-01-25 | 广东欧珀移动通信有限公司 | 一种应用的数据共享方法、装置和移动终端 |
CN106791059A (zh) * | 2016-12-09 | 2017-05-31 | 宇龙计算机通信科技(深圳)有限公司 | 一种应用多开的显示方法、系统及终端 |
CN106878153A (zh) * | 2017-03-06 | 2017-06-20 | 宇龙计算机通信科技(深圳)有限公司 | 一种消息共享方法及装置和移动终端、服务器 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9348678B1 (en) * | 2012-06-20 | 2016-05-24 | Mobile Iron, Inc. | Partitioned application environment |
CN104199734B (zh) * | 2014-09-12 | 2017-11-14 | 上海斐讯数据通信技术有限公司 | 一种基于安卓智能终端的应用程序多开管理方法和系统 |
CN105224322B (zh) * | 2015-09-25 | 2018-10-16 | 维沃移动通信有限公司 | 一种应用程序的分身方法及终端 |
CN106445706B (zh) * | 2016-10-10 | 2019-07-12 | Oppo广东移动通信有限公司 | 多开应用的数据传输方法、装置及移动终端 |
-
2017
- 2017-07-18 CN CN201710587321.XA patent/CN109271211B/zh active Active
-
2018
- 2018-07-06 WO PCT/CN2018/094829 patent/WO2019015491A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106357921A (zh) * | 2016-10-10 | 2017-01-25 | 广东欧珀移动通信有限公司 | 一种应用的数据共享方法、装置和移动终端 |
CN106791059A (zh) * | 2016-12-09 | 2017-05-31 | 宇龙计算机通信科技(深圳)有限公司 | 一种应用多开的显示方法、系统及终端 |
CN106878153A (zh) * | 2017-03-06 | 2017-06-20 | 宇龙计算机通信科技(深圳)有限公司 | 一种消息共享方法及装置和移动终端、服务器 |
Also Published As
Publication number | Publication date |
---|---|
WO2019015491A1 (zh) | 2019-01-24 |
CN109271211A (zh) | 2019-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109271211B (zh) | 应用程序的分身方法、装置、设备和介质 | |
KR102320151B1 (ko) | 어플리케이션을 설치하는 전자 장치 및 그 제어 방법 | |
CN110753928B (zh) | 控制应用程序的许可的方法和电子设备 | |
CN104951326B (zh) | 网页访问方法及装置 | |
EP3012770B1 (en) | Method for unlocking device based on touch size, shape, number of touches pattern | |
US20170031692A1 (en) | Method for managing device and electronic device supporting the same | |
KR20180038482A (ko) | 스마트 카드 판독/기입 방법 및 디바이스 | |
KR102631745B1 (ko) | 이종 운영체제의 실행을 제어하기 위한 방법, 이를 위한 전자 장치 및 저장 매체 | |
US20150160827A1 (en) | Method of interface control and electronic device thereof | |
US10908948B2 (en) | Multiple application instances in operating systems that utilize a single process for application execution | |
US20180101574A1 (en) | Searching index information for application data | |
US10489135B2 (en) | Electronic device and method for improving installation speed of theme package | |
US10516699B2 (en) | Electronic device and method for suggesting response manual in occurrence of denial | |
CN111079125A (zh) | 一种应用程序调用第三方库动态提升权限的方法及装置 | |
KR102333425B1 (ko) | 런타임 시의 안드로이드 애플리케이션들을 경량 컨테이너로 샌드박싱하는 방법 및 장치 | |
CN106502732B (zh) | 一种应用程序的关闭方法、装置及智能终端 | |
US10530732B2 (en) | Method for using a content subscription list and electronic device supporting the same | |
US11604656B2 (en) | Method and apparatus for managing application | |
KR102320149B1 (ko) | 어플리케이션을 실행하는 전자 장치 및 그 제어 방법 | |
EP3131031A1 (en) | Content security processing method and electronic device supporting the same | |
CN108241515B (zh) | 应用快捷方式建立方法及终端 | |
US10643252B2 (en) | Banner display method of electronic device and electronic device thereof | |
US20210026807A1 (en) | Method for managing data associated with application and electronic device therefor | |
US10303462B2 (en) | Windows support of a pluggable ecosystem for universal windows application stores | |
CN114840194A (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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20201215 Address after: Room 603, 6 / F, Roche Plaza, 788 Cheung Sha Wan Road, Kowloon, China Applicant after: Zebra smart travel network (Hong Kong) Limited Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands Applicant before: Alibaba Group Holding Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |