CN106095603B - 一种Android系统相同的应用程序可同时开启多个的方法 - Google Patents

一种Android系统相同的应用程序可同时开启多个的方法 Download PDF

Info

Publication number
CN106095603B
CN106095603B CN201610461180.2A CN201610461180A CN106095603B CN 106095603 B CN106095603 B CN 106095603B CN 201610461180 A CN201610461180 A CN 201610461180A CN 106095603 B CN106095603 B CN 106095603B
Authority
CN
China
Prior art keywords
application program
application
management module
module
installation
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
Application number
CN201610461180.2A
Other languages
English (en)
Other versions
CN106095603A (zh
Inventor
林伟
夏长锦
田文千
李波
郑镇明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xiamen Core Pigeon Mdt Infotech Ltd
Original Assignee
Xiamen Core Pigeon Mdt Infotech Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xiamen Core Pigeon Mdt Infotech Ltd filed Critical Xiamen Core Pigeon Mdt Infotech Ltd
Priority to CN201610461180.2A priority Critical patent/CN106095603B/zh
Publication of CN106095603A publication Critical patent/CN106095603A/zh
Application granted granted Critical
Publication of CN106095603B publication Critical patent/CN106095603B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44552Conflict resolution, i.e. enabling coexistence of conflicting executables

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Stored Programmes (AREA)

Abstract

本发明一种Android系统相同的应用程序可同时开启多个的方法,在应用程序框架层增设进程管理模块、活动管理模块、软件包管理模块、通知管理模块、内容管理模块,当应用程序安装时,若用户选择多开,则在桌面的“多开应用程序空间”创建多个相同名称加上不同数字后缀的应用程序图标,在安装过程中,对每个多开的应用程序配置N个完全独立隔离的数据空间,软件包管理模块主要是在应用程序安装时起作用,进程管理模块和活动管理模块则是协调管理多开的进程,通知管理模块和内容管理模块用以协调和管理多开时广播和数据库组件,本发明方便用户在单个移动设备上同时操控相同应用程序的多个账户,不需要通过频繁退出/登录账户来进行账户切换。

Description

一种Android系统相同的应用程序可同时开启多个的方法
技术领域
本发明涉及一种Android系统相同的应用程序可同时开启多个的方法。
背景技术
目前大多数应用程序(APP)在安装时,要求单个移动设备上仅能安装一个,不能同时安装多个相同的应用程序。由于有的应用程序每次仅能登录一个账户,当用户需要切换账户时,必须先退出已登录的账户,将另一账户重新登录。若用户需要同时操控多个账户时,为了省却频繁退出和登录的操作,必须将应用程序分别安装于多个不同的移动设备上,成本很高。
发明内容
本发明的目的在于提供一种Android系统相同的应用程序可同时开启多个的方法,针对无法同时登录多个账户的应用程序,允许单个移动设备同时安装多个相同的应用程序,方便用户在单个移动设备上同时操控相同应用程序的多个账户,不需要通过频繁退出/登录账户来进行账户切换。
本发明一种Android系统相同的应用程序可同时开启多个的方法,包括如下步骤:
步骤1、在Android系统的桌面上分设“正常应用程序空间”和“多开应用程序空间”;
步骤2、在应用程序框架层增设进程管理模块、活动管理模块、软件包管理模块、通知管理模块、内容管理模块:
该进程管理模块:用于对相同名称的应用程序分配不同的进程,并对进程的创建、运行、调度、销毁进行管理;
该活动管理模块:用于对同时多开的应用程序的activity进行管理,并管理android系统的服务组件、广播组件;
该软件包管理模块:用于对安装的多开的应用程序进行安装管理,并将所述多开的应用程序的数据进行分开存储处理;
该通知管理模块:用于对安装的多开的应用程序进行通知管理;
该内容管理模块:用于对多开的应用程序使用的数据库组件进行管理;
步骤3、安装应用程序步骤
(1)用户下载应用程序APK并点击安装,系统弹出用户界面询问用户是否选择安装应用程序多开,如果否,则按照正常的应用程序的安装流程安装APK,当APK安装完成时,将应用程序图标放入Android系统桌面上的“正常应用程序空间”中;如果是,则用户在用户界面填写多开的数量N,系统的属性模块中会记录该多开应用程序的包名及多开数量N;
(2)软件包管理模块执行安装过程,对每个多开的应用程序配置N个完全独立隔离的数据空间,再按照正常的应用程序的安装流程安装APK,当APK安装完成时,在android系统桌面上的“多开应用程序空间”中生成应用程序文件夹,该应用程序文件夹里面有N个名称前部分和原应用程序一样,但后部分分别多了1,2,…,N的后缀的应用程序图标;
步骤4、运行多开的应用程序步骤
(1)用户进入“多开应用程序空间”中选择并点击需要打开的第M个应用程序图标,其中M ≤ N,系统将需要启动的第M个应用程序图标对应的启动组件信息和应用程序的编号“M”一起设置到系统的Intent中去;
(2)系统的活动管理模块在启动第M个应用程序相关组件时,先根据步骤(1)设置的系统的Intent判断该第M个应用程序的需要启动的组件是否存在,如不存在,则开始创建该第M个应用程序的组件,如果该第M个应用程序图标之前被点击过,再点击时,系统就会判断组件已经存在,不需要创建,则接着查询该第M个应用程序的进程是否已经存在,若不存在,则活动管理模块会新建进程,并将该进程的PID信息及该应用程序的编号“M”,存到活动管理模块原有的有关进程信息的map中,供后续进程创建前查询,若该第M个应用程序的进程已经存在,则该进程会加载前面创建或已有的该第M个应用程序的界面组件,按原有启动流程显示该第M个应用程序的启动界面;
(3)第M个应用程序启动起来后,若某一运行组件如果需要启动该第M个应用程序所对应的服务时,活动管理模块会收到启动请求,根据启动请求中的应用程序信息编号信息、服务的类型、是否是子进程的信息,查询活动管理模块保存的有关进程信息的map,判断是否需要创建新的服务进程,或者直接将该服务组件运行到已有的第M个应用程序的主进程中;
(4)第M个应用程序启动起来后,若某一运行组件如果需要发送广播给该第M个应用程序时,通知管理模块在中转该广播时,先向活动管理模块查询有关该第M个应用程序的进程信息,该活动管理模块根据保存的有关进程信息的map调取上述进程信息并返回给通知管理模块,通知管理模块找到对应的需要处理广播的进程,进而将广播传给目的进程的BroadcastReceiver,该目的进程指的是第M个应用程序相关的进程,包括主进程和子进程。
本发明在应用程序框架层增设进程管理模块、活动管理模块、软件包管理模块、通知管理模块、内容管理模块,当应用程序安装时,若用户选择多开,则在桌面的“多开应用程序空间”创建多个相同名称加上不同数字后缀的应用程序图标,在安装过程中,对每个多开的应用程序配置N个完全独立隔离的数据空间,软件包管理模块主要是在应用程序安装时起作用,用于区分同一应用程序不同分身数据的分隔,进程管理模块和活动管理模块都是由AMS负责,协调管理多开的进程,通知管理模块和内容管理模块用以协调和管理多开时广播和数据库组件,采用本发明的技术方案后,单个移动设备可同时安装多个相同的应用程序,方便用户在单个移动设备上同时操控相同应用程序的多个账户,不需要通过频繁退出/登录账户来进行账户切换。
附图说明
图1为本发明的结构框架示意图;
图2为本发明多开应用程序安装流程图;
图3为本发明多开应用程序运行流程图。
下面结合附图和实施例对本发明做进一步详述。
具体实施方式
如图1所示,本发明一种Android系统相同的应用程序可同时开启多个的方法,包括如下步骤:
步骤1、在Android系统的桌面上分设“正常应用程序空间”和“多开应用程序空间”;
步骤2、在应用程序框架层(framework)增设进程管理模块(process manager)、活动管理模块(Activity manager)、软件包管理模块(package manager)、通知管理模块(notification manager)、内容管理模块(content provider manager):
该进程管理模块:用于对相同名称的应用程序分配不同的进程,并对进程的创建、运行、调度、销毁等进行管理;
该活动管理模块:用于对同时多开的应用程序的activity进行管理,并管理android系统的服务组件service、广播组件broadcast等组件;
该软件包管理模块:用于对安装的多开的应用程序进行安装管理,并将所述多开的应用程序的数据进行分开存储处理;
该通知管理模块:用于对安装的多开的应用程序进行通知管理;
该内容管理模块:用于对多开的应用程序使用的数据库组件进行管理;
步骤3、安装应用程序步骤,如图2所示:
(1)用户下载应用程序APK(软件安装包)并点击安装,系统弹出用户界面询问用户是否选择安装应用程序多开,如果否,则按照正常的应用程序的安装流程安装APK,当APK安装完成时,将应用程序图标放入Android系统桌面上的“正常应用程序空间”中;如果是,则用户在用户界面填写多开的数量N,系统的属性模块中会记录该多开应用程序的包名及多开数量N;
(2)软件包管理模块执行安装过程,对每个多开的应用程序配置N个完全独立隔离的数据空间,再按照正常的应用程序的安装流程安装APK,当APK安装完成时,在android系统桌面上的“多开应用程序空间”中生成应用程序文件夹,该应用程序文件夹里面有N个名称前部分和原应用程序一样,但后部分分别多了1,2,…,N等后缀的应用程序图标;
步骤4、运行多开的应用程序步骤,如图3所示:
(1)用户进入“多开应用程序空间”中选择并点击需要打开的第M个应用程序图标,其中M≤N,系统将需要启动的“第M个”应用程序图标对应的启动组件信息和应用程序的编号“M”一起设置到系统的Intent中去;
(2)系统的活动管理模块在启动第M个应用程序相关组件时,先根据步骤(1)设置的系统的Intent判断该第M个应用程序的需要启动的组件是否存在,如不存在,则开始创建该第M个应用程序的组件,如果该第M个应用程序图标之前被点击过,再点击时,系统就会判断组件已经存在,不需要创建,则接着查询该第M个应用程序的进程是否已经存在,若不存在,则活动管理模块会新建进程,并将该进程的PID信息及该应用程序的编号“M”,存到活动管理模块原有的有关进程信息的map中,供后续进程创建前查询,若该第M个应用程序的进程已经存在,则该进程会加载前面创建或已有的该第M个应用程序的界面组件,按原有启动流程显示该第M个应用程序的启动界面;
(3)第M个应用程序启动起来后,若某一运行组件如果需要启动该第M个应用程序所对应的服务Service时,活动管理模块会收到启动请求,根据启动请求中的应用程序信息编号信息(此处为M)、服务Service的类型、是否是子进程等信息,查询活动管理模块保存的有关进程信息的map,判断是否需要创建新的服务Service进程,或者直接将该服务Service组件运行到已有的第M个应用程序的主进程中;
(4)第M个应用程序启动起来后,若某一运行组件如果需要发送广播Broadcast给该第M个应用程序时,通知管理模块在中转该广播时,先向活动管理模块查询有关该第M个应用程序的进程信息,该活动管理模块根据保存的有关进程信息的map调取上述进程信息并返回给通知管理模块,通知管理模块找到对应的需要处理广播的进程,进而将广播传给目的进程的BroadcastReceiver,该目的进程指的是第M个应用程序相关的进程,包括主进程和子进程;
(5)内容管理模块的处理流程参照步骤(4)中通知管理模块的处理方式。
上述软件包管理模块主要是在应用程序安装时起作用,用于区分同一应用程序不同分身数据的分隔,进程管理模块和活动管理模块都是由AMS负责,协调管理多开的进程,通知管理模块和内容管理模块的机制见步骤(4)(5)。
以上所述,仅是本发明较佳实施例而已,并非对本发明的技术范围作任何限制,故凡是依据本发明的技术实质对以上实施例所作的任何细微修改、等同变化与修饰,均仍属于本发明技术方案的范围内。

Claims (1)

1.一种Android系统相同的应用程序可同时开启多个的方法,其特征在于包括如下步骤:
步骤1、在Android系统的桌面上分设“正常应用程序空间”和“多开应用程序空间”;
步骤2、在应用程序框架层增设进程管理模块、活动管理模块、软件包管理模块、通知管理模块、内容管理模块:
该进程管理模块:用于对相同名称的应用程序分配不同的进程,并对进程的创建、运行、调度、销毁进行管理;
该活动管理模块:用于对同时多开的应用程序的activity进行管理,并管理android系统的服务组件、广播组件;
该软件包管理模块:用于对安装的多开的应用程序进行安装管理,并将所述多开的应用程序的数据进行分开存储处理;
该通知管理模块:用于对安装的多开的应用程序进行通知管理;
该内容管理模块:用于对多开的应用程序使用的数据库组件进行管理;
步骤3、安装应用程序步骤
(1)用户下载应用程序APK并点击安装,系统弹出用户界面询问用户是否选择安装应用程序多开,如果否,则按照正常的应用程序的安装流程安装APK,当APK安装完成时,将应用程序图标放入Android系统桌面上的“正常应用程序空间”中;如果是,则用户在用户界面填写多开的数量N,系统的属性模块中会记录该多开应用程序的包名及多开数量N;
(2)软件包管理模块执行安装过程,对每个多开的应用程序配置N个完全独立隔离的数据空间,再按照正常的应用程序的安装流程安装APK,当APK安装完成时,在android系统桌面上的“多开应用程序空间”中生成应用程序文件夹,该应用程序文件夹里面有N个名称前部分和原应用程序一样,但后部分分别多了1,2,…,N的后缀的应用程序图标;
步骤4、运行多开的应用程序步骤
(1)用户进入“多开应用程序空间”中选择并点击需要打开的第M个应用程序图标,其中M≤N,系统将需要启动的第M个应用程序图标对应的启动组件信息和应用程序的编号“M”一起设置到系统的Intent中去;
(2)系统的活动管理模块在启动第M个应用程序相关组件时,先根据步骤(1)设置的系统的Intent判断该第M个应用程序的需要启动的组件是否存在,如不存在,则开始创建该第M个应用程序的组件,如果该第M个应用程序图标之前被点击过,再点击时,系统就会判断组件已经存在,不需要创建,则接着查询该第M个应用程序的进程是否已经存在,若不存在,则活动管理模块会新建进程,并将该进程的PID信息及该应用程序的编号“M”,存到活动管理模块原有的有关进程信息的map中,供后续进程创建前查询,若该第M个应用程序的进程已经存在,则该进程会加载前面创建或已有的该第M个应用程序的界面组件,按原有启动流程显示该第M个应用程序的启动界面;
(3)第M个应用程序启动起来后,若某一运行组件如果需要启动该第M个应用程序所对应的服务时,活动管理模块会收到启动请求,根据启动请求中的应用程序信息编号信息、服务的类型、是否是子进程的信息,查询活动管理模块保存的有关进程信息的map,判断是否需要创建新的服务进程,或者直接将该服务组件运行到已有的第M个应用程序的主进程中;
(4)第M个应用程序启动起来后,若某一运行组件如果需要发送广播给该第M个应用程序时,通知管理模块在中转该广播时,先向活动管理模块查询有关该第M个应用程序的进程信息,该活动管理模块根据保存的有关进程信息的map调取上述进程信息并返回给通知管理模块,通知管理模块找到对应的需要处理广播的进程,进而将广播传给目的进程的BroadcastReceiver,该目的进程指的是第M个应用程序相关的进程,包括主进程和子进程。
CN201610461180.2A 2016-06-23 2016-06-23 一种Android系统相同的应用程序可同时开启多个的方法 Active CN106095603B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610461180.2A CN106095603B (zh) 2016-06-23 2016-06-23 一种Android系统相同的应用程序可同时开启多个的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610461180.2A CN106095603B (zh) 2016-06-23 2016-06-23 一种Android系统相同的应用程序可同时开启多个的方法

Publications (2)

Publication Number Publication Date
CN106095603A CN106095603A (zh) 2016-11-09
CN106095603B true CN106095603B (zh) 2019-03-29

Family

ID=57253205

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610461180.2A Active CN106095603B (zh) 2016-06-23 2016-06-23 一种Android系统相同的应用程序可同时开启多个的方法

Country Status (1)

Country Link
CN (1) CN106095603B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106648937B (zh) * 2016-12-29 2020-02-28 北京奇虎科技有限公司 一种安卓应用的广播代理方法和装置
CN106933455B (zh) * 2017-03-31 2021-01-15 联想(北京)有限公司 应用图标的处理方法和处理装置
CN107193589A (zh) * 2017-05-09 2017-09-22 成都市宏山科技有限公司 基于安卓系统的多app运行方法
CN109388435A (zh) * 2017-08-04 2019-02-26 北京多点在线科技有限公司 实现app同时多次开启操作的方法和装置
CN109960563A (zh) * 2017-12-22 2019-07-02 北京安天网络安全技术有限公司 调用hook应用程序多开方法及系统
CN109040441B (zh) * 2018-07-25 2021-09-21 努比亚技术有限公司 应用分身显示方法、移动终端及计算机可读存储介质
CN109194639B (zh) * 2018-08-24 2021-10-08 北京小米移动软件有限公司 消息接收处理方法、装置、终端及可读存储介质
CN114047933A (zh) * 2021-10-20 2022-02-15 北京鲸鲮信息系统技术有限公司 多开Android应用的方法、装置、设备和介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1829202A (zh) * 2005-03-02 2006-09-06 华为技术有限公司 多个帐号同时在一个客户端上实现imps业务的系统及方法
CN102594813A (zh) * 2012-02-10 2012-07-18 奇智软件(北京)有限公司 多账号登录方法及装置
CN104199734A (zh) * 2014-09-12 2014-12-10 上海斐讯数据通信技术有限公司 一种基于安卓智能终端的应用程序多开管理方法和系统
CN104866342A (zh) * 2015-05-07 2015-08-26 北京数字天域科技有限责任公司 在智能终端上同时开启多个同一应用程序的方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1829202A (zh) * 2005-03-02 2006-09-06 华为技术有限公司 多个帐号同时在一个客户端上实现imps业务的系统及方法
CN102594813A (zh) * 2012-02-10 2012-07-18 奇智软件(北京)有限公司 多账号登录方法及装置
CN104199734A (zh) * 2014-09-12 2014-12-10 上海斐讯数据通信技术有限公司 一种基于安卓智能终端的应用程序多开管理方法和系统
CN104866342A (zh) * 2015-05-07 2015-08-26 北京数字天域科技有限责任公司 在智能终端上同时开启多个同一应用程序的方法和装置

Also Published As

Publication number Publication date
CN106095603A (zh) 2016-11-09

Similar Documents

Publication Publication Date Title
CN106095603B (zh) 一种Android系统相同的应用程序可同时开启多个的方法
US9600276B2 (en) Creating templates of offline resources
US11119746B2 (en) Extensions for deployment patterns
US8924920B2 (en) Providing a software appliance based on a role
CN111027921B (zh) 一种业务处理方法、装置及电子设备和存储介质
US8433757B2 (en) Centralized management of applications and desktop preferences without requiring configuration of clientside operating systems
US9092243B2 (en) Managing a software appliance
JP2001043086A (ja) パーソナル・システムを構成するシステム及び方法
US20120246639A1 (en) Configuration of virtual appliances
CN105786667A (zh) 一种分布式自动化测试方法及系统
CN107992355A (zh) 一种部署应用软件的方法、装置及虚拟机
CN104268019A (zh) 一种软件运行方法、装置及终端
US8458693B2 (en) Transitioning from static to dynamic cluster management
CN103077024A (zh) 一种支持SaaS应用流程按需定制与运行的装置及方法
CN104216698A (zh) 一种注册网页方法及相关装置
CN106095621A (zh) 一种安卓系统中Launcher运行异常的恢复方法及系统
CN105247533A (zh) 信息处理装置和确定方法
CN106502717A (zh) 应用程序运行方法及装置
CN110134489B (zh) 应用迁移方法及装置、系统、存储介质、应用上云工具
CN110489305B (zh) 一种服务器管理方法及装置
CN105426301A (zh) 一种基于Linux平台Oracle数据库压力测试方法
CN103530180B (zh) 应用程序的存储空间切换方法及装置
CN116048536A (zh) 微服务的部署方法、装置、处理器以及电子设备
US20080244219A1 (en) Method and apparatus for controlling a single-user application in a multi-user operating system
CN107665115B (zh) 一种软件开发平台及方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant