CN111949334A - 基于沙箱环境的虚拟应用启动控制方法、装置及设备 - Google Patents
基于沙箱环境的虚拟应用启动控制方法、装置及设备 Download PDFInfo
- Publication number
- CN111949334A CN111949334A CN202011111187.4A CN202011111187A CN111949334A CN 111949334 A CN111949334 A CN 111949334A CN 202011111187 A CN202011111187 A CN 202011111187A CN 111949334 A CN111949334 A CN 111949334A
- Authority
- CN
- China
- Prior art keywords
- application
- sandbox
- target virtual
- virtual application
- information
- 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.)
- Granted
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
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- 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/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- 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/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45575—Starting, stopping, suspending or resuming virtual machine instances
-
- 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/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45587—Isolation or security of virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Stored Programmes (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请提供一种基于沙箱环境的虚拟应用启动控制方法、装置及设备,涉及信息安全技术领域,尤其涉及云技术和沙箱技术中的安全领域以及沙箱环境中的虚拟应用,用以提升虚拟应用的启动效率。该方法包括:接收通过沙箱环境外的对象触发的应用启动指令,根据所述应用启动指令获取待启动的目标虚拟应用的应用信息,所述目标虚拟应用包括安装在所述沙箱环境中的虚拟应用;调用与获取的应用信息对应的应用子进程;通过调用的应用子进程启动所述目标虚拟应用,并加载所述目标虚拟应用的应用入口页面。该方法通过沙箱环境外的对象直接启动沙箱环境中的虚拟应用,提供了虚拟应用的一种新的启动方式,简化了虚拟应用的启动过程,提升了虚拟应用的启动效率。
Description
技术领域
本申请涉及信息安全领域,尤其涉及一种基于沙箱环境的虚拟应用启动控制方法、装置及设备。
背景技术
随着计算机技术的不断发展,信息安全问题变得日益重要,为了避免一些不信任的应用对电子设备的安全隐患,常将这些不信任的应用放在云虚拟网络或者沙箱环境中作为虚拟应用运行;用户在启动安装在沙箱环境中的虚拟应用时,只能通过对沙箱应用的页面中展示的虚拟应用的应用图标进行操作,启动虚拟应用,虚拟应用的启动方式受限;且由于虚拟应用的应用图标是展示在沙箱的页面中的,若想通过虚拟应用的应用图标启动虚拟应用,则必须先从沙箱环境外进入到沙箱环境的页面中,因此启动虚拟应用的过程繁琐,启动效率低,如何提升安装在沙箱环境中的虚拟应用的启动效率成为了需要考虑的问题。
发明内容
本申请实施例提供一种基于沙箱环境的虚拟应用启动控制方法、装置及设备,用于提升安装在沙箱环境中的虚拟应用的启动效率。
本申请第一方面,提供一种基于沙箱环境的虚拟应用启动控制方法,包括:
接收通过沙箱环境外的对象触发的应用启动指令;
根据所述应用启动指令获取待启动的目标虚拟应用的应用信息,所述目标虚拟应用包括安装在所述沙箱环境中的虚拟应用;
调用与获取所述待启动的目标虚拟应用的应用信息对应的应用子进程;
通过所述应用子进程启动所述目标虚拟应用,并加载所述目标虚拟应用的应用入口页面。
本申请第二方面,提供一种基于沙箱环境的虚拟应用启动控制装置,包括:
指令接收单元,用于接收通过沙箱环境外的对象触发的应用启动指令;
应用信息获取单元,用于根据所述应用启动指令获取待启动的目标虚拟应用的应用信息,所述目标虚拟应用包括安装在所述沙箱环境中的虚拟应用;
进程调用单元,用于调用与获取所述待启动的目标虚拟应用的应用信息对应的应用子进程;
应用启动单元,用于通过所述应用子进程启动所述目标虚拟应用,并加载所述目标虚拟应用的应用入口页面。
在一种可能的实现方式中,所述对象为所述沙箱环境的沙箱标识信息,所述应用信息获取单元具体用于:
接收所述应用启动指令;
从所述沙箱环境的配置文件中,获取预先存储的应用信息为所述目标虚拟应用的应用信息,所述预先存储的应用信息包括至少一个所述虚拟应用的应用信息。
在一种可能的实现方式中,所述对象为所述虚拟应用的应用标识信息,所述应用信息获取单元具体用于:
确定触发所述应用启动指令的虚拟应用;
获取确定的虚拟应用的应用信息为所述目标虚拟应用的应用信息。
在一种可能的实现方式中,所述对象为运行在所述沙箱环境外的第三方应用,所述应用信息获取单元具体用于:
确定所述应用启动指令指示的目标业务功能,所述目标业务功能是所述第三方应用请求调用所述沙箱环境的业务功能;
获取业务功能与所述目标业务功能匹配的虚拟应用的应用信息,为所述目标虚拟应用的应用信息。
在一种可能的实现方式中,所述应用信息获取单元还用于:
监控到用于设置所述目标虚拟应用的应用设置指令时,在第一应用设置页面中加载所述沙箱环境中已安装的虚拟应用的应用标识信息,并呈现所述第一应用设置页面;将用户通过所述第一应用页面中的应用标识信息指示的虚拟应用的应用信息,存储至所述配置文件中;或
监控到用户通过第二应用设置页面指示所述虚拟应用为目标虚拟应用时,将所述虚拟应用的应用信息保存至所述配置文件中,其中所述第二应用设置页面在所述虚拟应用的安装过程或运行过程中呈现。
在一种可能的实现方式中,所述应用信息获取单元还用于:
确定所述配置文件中没有预先存储的应用信息;
在所述沙箱环境中展示所述沙箱环境的目标页面。
在一种可能的实现方式中,所述应用信息中包括启动所述虚拟应用的有效时段,所述应用信息获取单元具体用于:
确定所述配置文件中生效时段包含当前时刻的应用信息;
获取确定的应用信息为所述目标虚拟应用的应用信息。
在一种可能的实现方式中,所述指令接收单元还用于:
监控到目标虚拟应用查询指令时,在目标虚拟应用查询页面中加载所述目标虚拟应用的应用标识信息,并呈现所述目标虚拟应用查询页面。
在一种可能的实现方式中,所述指令接收单元还用于:
监控到用于取消目标虚拟应用设置的应用设置取消指令时,将所述应用设置取消指令指示的目标虚拟应用,设置为所述虚拟应用。
在一种可能的实现方式中,所述进程调用单元具体用于:
通过沙箱服务代码逻辑,调用与所述获取的应用信息对应的应用子进程;或
将所述获取的应用信息发送给沙箱服务进程,通过所述沙箱服务进程,调用与所述获取的应用信息对应的应用子进程。
本申请第三方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面及任一种可能的实施方式中任一所述的方法。
本申请第四方面,提供一种计算机程序产品,该计算机程序产品包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述第一方面的各种可能的实现方式中提供的方法。
本申请第五方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行如第一方面及任一种可能的实施方式中任一所述的方法。
由于本申请实施例采用上述技术方案,至少具有如下技术效果:
本申请实施例中,用户可以通过沙箱环境外的对象,触发安装在沙箱环境中的虚拟应用的应用启动指令,沙箱应用在接收应用启动指令后,直接调启动目标虚拟应用并展示目标虚拟应用的应用入口页面,即可以通过沙箱环境外的对象直接启动沙箱环境中的虚拟应用,此过程中不需要进入沙箱的页面即可启动虚拟应用,简化了安装在沙箱环境中的虚拟应用的启动过程,进而提升了虚拟应用的启动效率。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
图1为本申请实施例提供的一种沙箱应用的处理机制示例图;
图2为本申请实施例提供的一种桌面页面的示例图;
图3为本申请实施例提供的一种目标虚拟应用的启动控制过程的示意图;
图4为本申请实施例提供的一种基于沙箱环境的虚拟应用启动控制方法的流程的示意图;
图5为本申请实施例提供的一种密码验证页面的示例图;
图6为本申请实施例提供的一种沙箱欢迎页面的示例图;
图7为本申请实施例提供的一种启动目标虚拟应用的操作过程的示例图;
图8为本申请实施例提供的一种沙箱应用的显示页面的示例图;
图9为本申请实施例提供的一种设置目标虚拟应用的应用设置页面的示例图;
图10为本申请实施例提供的一种设置目标虚拟应用的应用设置页面的示例图;
图11为本申请实施例提供的一种沙箱门户页面的示例图;
图12为本申请实施例提供的一种启动目标虚拟应用的操作过程的示例图;
图13为本申请实施例提供的一种展示多个目标虚拟应用的应用入口页面的显示页面的示例图;
图14为本申请实施例提供的一种目标虚拟应用查询页面的示例图;
图15为本申请实施例提供的一种目标虚拟应用的启动过程的流程示例图;
图16为本申请实施例提供的一种目标虚拟应用的设置过程和启动过程的流程的示例图;
图17为本申请实施例提供的一种沙箱主进程、沙箱服务进程和目标虚拟应用的应用子进程之间的调用过程的示例图;
图18为本申请实施例提供的一种基于沙箱环境的虚拟应用启动控制装置的结构图;
图19为本申请实施例提供的一种终端设备的结构图。
具体实施方式
为了更好的理解本申请实施例提供的技术方案,下面将结合说明书附图以及具体的实施方式进行详细的说明。
为了便于本领域技术人员更好地理解本申请的技术方案,下面对本申请涉及的技术名称进行说明。
沙箱应用(又可称为沙箱、沙盘):在外部系统(即安装沙箱应用的系统,如可以但不局限于包括安卓Android系统、IOS系统)中,采用虚拟化技术提供的隔离空间、独立运行的沙箱环境,即沙箱应用是一个虚拟系统程序,允许用户在沙箱环境中运行浏览器或其他应用程序,创造了一个类似沙盒的独立作业环境,沙箱环境中各应用程序运行所产生的变化可以随后删除,在沙箱应用内部运行的程序并不能对硬盘产生永久性的影响;因沙箱环境是一个独立的虚拟环境,可以用来测试不受信任的应用程序或上网行为,在本申请实施例中,可以在沙箱应用中搭建沙箱环境(类似于虚拟机)运行其他应用程序。
沙箱环境:API(Application Program Interface,应用程序编程接口)能力开放平台沙箱环境是提供给用户运行应用程序、进行接口功能开发及主要功能联调的辅助环境;沙箱环境提供了开放平台的主要功能,用户可以根据自身需求,在沙箱环境中了解、组合和调试各种开放接口,进行开发调试工作,或在沙箱环境中运行或使用一些不受信任的应用程序或上网行为,以避免这些不受信任的应用程序或上网行为带来危害。
虚拟应用、目标虚拟应用和第三方应用:本申请实施例中的虚拟应用是指安装在沙箱环境中的应用,即虚拟应用是运行在沙箱环境中的应用程序,本质上与在外部系统运行的应用程序没有区别,只是虚拟应用运行在沙箱环境中;虚拟应用可以但不局限于包括社交类应用、信息检索类应用、游戏应用、通讯应用、导航应用等;本申请实施例中的目标虚拟应用为虚拟应用中的至少一个应用程序,目标虚拟应用是可以通过沙箱环境外的对象触发直接启动的虚拟应用;本申请实施例中的第三方应用指代安装并运行在沙箱环境外的应用程序,如运行在Android或IOS系统上的应用程序等;本申请实施例涉及的应用程序可以但不局限于是软件,也可以是网页、小程序等。
应用入口页面:启动应用程序后加载的应用程序提供的第一个应用页面,应用入口页面可以为应用程序的账户登陆页面、也可以为应用程序的默认历史账户登陆后的应用运行界面等,本领域的技术人员可根据实际需求设置启动应用后加载的第一个应用页面。
应用组件对象Application:Application是Android框架的一个系统组件,当启动安装在Android系统上的应用程序时,Android系统会针对该应用程序创建一个Application对象,用来存储系统的一些信息;其中Android系统会为每个应用程序运行时创建一个Application类的对象且仅创建一个,Application对象的生命周期是整个应用程序中最长的,它的生命周期就等于这个应用程序的生命周期,故而通过Application来进行一些数据传递、数据共享、数据缓存等操作。
下面对本申请的设计思想进行说明。
沙箱应用一般安装在终端设备上的外部系统(如安卓Android系统、IOS系统等)中,沙箱应用可以在沙箱的页面中展示安装在沙箱环境中的虚拟应用的应用图标,用户可以通过点击沙箱的页面中的应用图标启动对应的虚拟应用,但上述启动沙箱环境中的虚拟应用时,必须先通过外部系统的桌面页面展示的沙箱应用的沙箱应用图标触发,跳转到沙箱应用的页面,进而通过沙箱应用的页面中展示的虚拟应用的应用图标,启动沙箱环境中对应的虚拟应用,需要至少两次启动操作才能启动虚拟应用,故而虚拟应用的启动过程繁琐,启动效率低,如何提升安装在沙箱环境中的虚拟应用的启动效率成为了需要考虑的问题。
鉴于此,发明人设计了一种基于沙箱环境的虚拟应用启动控制方法、装置、设备及计算机存储介质;以提升虚拟应用的启动效率;具体地,可以通过沙箱环境外的对象触发应用启动指令,沙箱应用接收到应用启动指令之后,直接调用待启动的目标虚拟应用的应用子进程并加载目标虚拟应用的应用入口界面。
在介绍完本申请实施例的设计思想之后,下面对本申请实施例的技术方案能够适用的应用场景做一些简单介绍,需要说明的是,以下介绍的应用场景仅用于说明本申请实施例而非限定。在具体实施过程中,可以根据实际需要灵活地应用本申请实施例提供的技术方案。
请参照图1,表示一种沙箱应用的处理机制示例图,或者也可以表示一种终端设备100的内容部架构示意图。图1中外部系统110(如可以但不局限于是安卓Andriod系统、IOS系统等)安装在终端设备100上,沙箱应用120和第三方应用140安装和运行在外部系统110(即沙箱环境外的操作系统)中;本申请实施例中一个外部系统中可以安装一个沙箱应用120,也可以安装多个沙箱应用120,沙箱应用120和外部系统110之间可以通过目标接口进行通信,本申请实施例中的目标接口可以但不局限于是连接外部系统和虚拟环境的接口;其中:
外部系统110运行时可以加载桌面页面(外部系统提供的一个用户交互页面)的程序,在终端设备100上显示桌面页面,并在桌面页面中展示安装在外部系统110中的沙箱应用120的沙箱标识信息,以及在桌面页面中展示安装在外部系统110中的第三方应用140的应用标识信息。
请参见图2,提供一种应用本申请提供的方法的产品侧的桌面页面200的示例图,该桌面页面200中展示有相册、音乐、日历、设置、应用商店、手机管家、系统工具以及天气等第三方应用140的应用标识信息,如展示上述“相册”应用的应用图标210(即上述应用标识信息)、“设置”应用的应用图标220等;且桌面页面200中也展示有沙箱应用120的沙箱标识信息230;其中外部系统可以提供一个或多个桌面页面,当提供多个桌面页面200时,可以将沙箱标识信息230展示在任意的一个或多个桌面页面200中,在一个桌面页面200中展示沙箱标识信息230时,可以将沙箱标识信息230展示在预设显示区域中,该预设显示区域可以但不局限于包括桌面页面200的中间位置、左侧、右侧、上侧、下侧、左上侧、左下侧等区域,本领域的技术人员可根据实际需求设置上述预设显示区域,以及根据实际需求设置沙箱标识信息230在上述预设显示区域中的显示尺寸等,此处不做过多限定;本申请实施例中的沙箱标识信息230可以但不局限于为沙箱应用120的应用图标,也可以是沙箱应用120的标签信息,该标签信息可以但不局限于为沙箱应用120的名称、描述信息等,其中应当说明的是图中的沙箱标识信息230只是示例性说明,本领域的技术人员可根据实际需求设置上述沙箱标识信息230的具体形式和内容。
本申请实施例中的沙箱应用120提供的沙箱环境中可以安装及运行一个或多个虚拟应用130,沙箱应用120可以调用虚拟应用130的应用子进程,以通过调用的应用子进程启动、运行虚拟应用和加载虚拟应用的各种页面。
当用户想要启动沙箱环境中的目标虚拟应用时,用户可以通过外部系统110中的对象触发应用启动指令;外部系统110会将应用启动指令发送沙箱应用120,其中本实施例中触发应用启动指令的对象可以但不局限于是展示在沙箱环境外的沙箱标识信息230、虚拟应用的应用标识信息、运行在沙箱环境外的第三方应用140等。
沙箱应用120接收到应用启动指令后,根据应用启动指令获取待启动的目标虚拟应用的应用信息,并调用与获取的应用信息对应的应用子进程,通过调用的应用子进程启动目标虚拟应用,并加载目标虚拟应用的应用入口页面,上述目标虚拟应用为安装在沙箱环境中的虚拟应用。
作为一种实施例,考虑到相关技术中是通过展示在沙箱环境中的虚拟应用的应用图标触发启动虚拟应用,即其通过沙箱环境触发的应用启动指令,沙箱应用120只能根据沙箱环境中触发的应用启动指令,启动相应的服务去调用虚拟应用的应用子进程,用户无法通过沙箱环境外的对象触发虚拟应用的应用启动指令,进而沙箱应用120无法根据沙箱环境外的对象触发的指令,调用对应的虚拟应用的应用子进程,故而本申请实施例中为解决这一问题,在沙箱应用120中设置沙箱服务模块,在沙箱应用120接收通过沙箱环境外的对象触发的应用启动指令后,可以获取待启动的目标虚拟应用的应用信息,并通过沙箱服务模块去调用与获取的应用信息对应的应用子进程;其中本申请实施例中的沙箱服务模块可以但不局限用于管理虚拟应用,并负责虚拟应用运行所需环境的创建、管理和销毁。
具体地,请参见图3,上述沙箱应用120的功能可以通过沙箱主进程实现,上述沙箱服务模块可以是设置于沙箱主进程中的沙箱服务代码逻辑(请参见图中第一种目标虚拟应用的启动过程),故而沙箱主进程接收目标虚拟应用的应用启动指令后,可以通过沙箱服务代码逻辑,调用目标虚拟应用的应用子进程;上述沙箱服务模块还可以是独立于沙箱主进程的沙箱服务进程(请参见图中第二种目标虚拟应用的启动过程),沙箱服务进程和沙箱主进程之间可以进行通信,故而沙箱主进程接收应用启动指令后,可以通过沙箱服务进程调用目标虚拟应用的应用子进程。
上述沙箱主进程控制沙箱的启动页面的展示,启动意图Intent的管理,沙箱启动后页面的流程控制等;沙箱服务模块负责沙箱环境中虚拟应用的安装和运行管理、应用子进程的管理、应用程序的四大组件(包括Activity组件、Service组件、Broadcast Receiver组件和Content Provider组件)等请求的管理等;应用子进程用于启动对应的虚拟应用、加载虚拟应用的应用入口页面及其他运行虚拟应用的操作等。
在本申请实施例中,终端设备100为用户使用的电子设备,该电子设备可以是移动终端、固定终端或便携式终端等,如可以是个人计算机、手机、平板电脑、笔记本、个人通信系统(PCS)设备、个人导航设备、个人数字助理(PDA)、音频/视频播放器、数码相机/摄像机、定位设备、电视接收器、电子书阅读器、智能家居、游戏设备等具有一定计算能力并且运行有即时通讯类软件及网站或者社交类软件及网站的计算机设备,也可以是上述这些设备的配件和外设或者其任意组合。
基于图1的应用场景,下面对本申请实施例中涉及的基于沙箱环境的虚拟应用启动控制方法进行示例说明;请参照图4,提供一种基于沙箱环境的虚拟应用启动控制方法,应用于沙箱应用,该方法具体包括如下步骤:
步骤S401,接收通过沙箱环境外的对象触发的应用启动指令。
本申请实施例中,用户可以但不局限于通过展示在外部系统的桌面页面上的对象触发应用启动指令,触发应用启动指令的对象可以但不局限于包括沙箱环境的沙箱标识信息或虚拟应用的应用标识信息、或运行在沙箱环境外的第三方应用等,通过不同对象触发应用启动指令以启动目标虚拟应用的具体过程将在下文中进行详细说明。
步骤S402,根据上述应用启动指令获取待启动的目标虚拟应用的应用信息,目标虚拟应用包括安装在沙箱环境中的虚拟应用。
具体地,考虑到沙箱环境中可以安装多个虚拟应用,而触发启动的目标虚拟应用可以是虚拟应用中的一个或者多个,因此为了准确地调度目标虚拟应用的应用子进程,本申请实施例中沙箱应用可以根据应用启动指令确定待启动的目标虚拟应用的应用信息,该应用信息可以但不局限于用于指示待调用的目标虚拟应用具体是哪个虚拟应用,进一步可以调用与获取的应用信息对应的应用子进程。
作为一种实施例,上述应用信息可以但不局限于包括目标虚拟应用的唯一标识信息或目标虚拟应用的业务功能,上述唯一标识信息可以但不局限于为目标虚拟应用的包名、MD5签名等信息,上述业务功能可以但不局限于包括支付功能、查询功能、问答功能、播放音视频功能、分享信息功能、游戏功能等中的至少一种功能;具体地,若沙箱应用确定的应用信息为目标虚拟应用的包名,则调用与确定的包名对应的应用子进程,该场景下,确定的包名对应的应用子进程即为目标虚拟应用的应用子进程;若沙箱应用确定的应用信息为业务功能,则可以确定沙箱环境中支持确定的业务功能的应用子进程,调用支持确定的业务功能的应用子进程,该场景下支持确定的业务功能的应用子进程即为目标虚拟应用的应用子进程。
步骤S403,调用与获取上述待启动的目标虚拟应用的应用信息对应的应用子进程。
具体地,为了准确便捷的调用目标虚拟应用的应用子进程,本申请实施例中沙箱应用可以通过上述沙箱服务代码逻辑,调用与获取的应用信息对应的应用子进程;也可以由沙箱主进程将获取的应用信息发送给上述沙箱服务进程,通过沙箱服务进程,调用与获取的应用信息对应的应用子进程,关于沙箱服务代码逻辑和沙箱服务进程可参见上述内容,此处不再重复说明。
步骤S404,通过调用的应用子进程启动上述目标虚拟应用,并加载上述目标虚拟应用的应用入口页面。
作为一种实施例,为了保证沙箱应用的安全,本申请实施例中还可以设置第一密码验证页面,该第一密码验证页面用于验证启动沙箱应用(又称沙箱环境)的沙箱验证密码是否正确,如在步骤S401之后且在步骤S402之前,展示第一密码验证页面,确认沙箱验证密码输入正确后,再获取待启动的目标虚拟应用的应用信息并调用对应的应用子进程。
另外考虑到保证虚拟应用的安全,本申请实施例中还可以设置第二密码验证页面,该第二密码验证页面用于验证启动目标虚拟应用的目标虚拟应用验证密码是否正确,如在步骤S403之前,展示第二密码验证页面,确认目标虚拟应用验证密码输入正确后,调用目标虚拟应用的应用子进程。
本申请实施例中对上述沙箱验证密码和目标虚拟应用验证密码的密码形式不做限定,如可以但不局限于包括文本密码、语音密码、手势密码(即图案密码)、指纹密码、人脸识别密码、肢体密码等,且上述沙箱验证密码和目标虚拟应用验证密码可以由用户设置;请参见图5,提供几种用于验证沙箱验证密码的第一密码验证页面的示例图,图中a示意出了一种验证文本密码的密码验证页面,用户可以在密码输入框中501输入沙箱应用的文本密码后,通过点击确认密码按键502,向沙箱应用提交输入的文本密码,进而沙箱应用去验证用户输入的文本密码是否正确,进一步用户还可以通过忘记密码按键503请求重新设置沙箱应用的文本密码或找回文本密码;图中b示意出一种验证语音密码的密码验证页面,用户长按语音密码输入按键504时,终端设备可以利用语音采集装置采集用户的语音信号(即语音密码),用户松开语音密码输入按键504后,可以通过点击确认密码按键505确认输入的语音密码,也可以通过点击重新输入按键506请求重新输入语音密码,用户还可以通过忘记密码按键507请求重新设置沙箱应用的语音密码或找回语音密码;图中c示意出一种验证手势密码的密码验证页面,用户可以通过密码绘制区域508绘制手势密码,且可以通过忘记密码按键509请求重新设置手势密码或找回手势密码;图中d示意出一种验证人脸识别密码的密码验证页面,用户可以将自己的人脸置于人脸扫描框510中,终端设备上的图像采集装置自动采集人脸扫描框中的人脸图像,其中用户可以通过点击确认按键510确认人脸图像,也可以通过点击重新拍摄按键512请求终端设备重新采集人脸图像;上述第二密码验证页面的示例可参见上述第一密码验证页面的示例,此处不再重复叙述。
本申请实施例中还提供一种沙箱欢迎页面,可以在步骤S402之前,展示沙箱欢迎页面,或在上述沙箱验证密码或目标虚拟应用验证密码验证正确后,展示沙箱欢迎页面,请参见图6,提供一种沙箱欢迎页面的示例图,可以但不局限于在沙箱欢迎页面中展示沙箱应用的应用图标601、欢迎语602、沙箱应用的说明信息603中的至少一个信息。
以下对本申请实施例中应用启动指令的不同触发方式,以及不同触发方式下,沙箱应用根据应用启动指令启动目标虚拟应用的过程进行详细说明。
(一)通过沙箱标识信息触发应用启动指令。
该种方式下,用户可以但不局限于通过对展示在沙箱环境外的沙箱标识信息进行第一目标操作,以指示外部系统向沙箱应用发送应用启动指令;对应的,外部系统检测到针对沙箱标识信息的第一目标操作后,向沙箱应用发送应用启动指令,上述第一目标操作可以但不局限于包括点击或长按沙箱标识信息等操作。
沙箱应用接收到通过沙箱标识信息触发的应用启动指令后,直接调用待启动的目标虚拟应用的应用子进程;具体地,沙箱应用可以接收应用启动指令,从沙箱环境的配置文件中获取预先存储的应用信息为目标虚拟应用的应用信息,调用与获取的应用信息对应的应用子进程,以及通过调用的应用子进程启动目标虚拟应用和加载目标虚拟应用的应用入口界面;上述配置文件中可以预先存储至少一个虚拟应用的应用信息,其中虚拟应用的应用信息可以但不局限于是将虚拟应用设置为目标虚拟应用后保存至上述配置文件中的,因此,沙箱应用从配置文件中读取到应用信息时,即可得知已设置了目标虚拟应用。
请参见图7,此处给出一个启动目标虚拟应用的效果示例图,用户可以对桌面页面200展示的沙箱标识信息230进行点击操作;进而外部系统检测到用户对沙箱标识信息230进行了点击操作,则向沙箱应用发送应用启动指令;沙箱应用响应应用启动指令,从沙箱环境的配置文件中获取预先存储的应用信息,并调用与获取的应用信息对应的应用子进程,通过调用的应用子进程启动目标虚拟应用以及加载目标虚拟应用的应用入口页面;此处以社交类应用A作为目标虚拟应用为例,则上述流程从页面的显示变化来看,用户点击沙箱标识信息230,直接在终端设备上展示了社交类应用A的应用入口页面700,进而用户可以通过应用入口页面700中的账号登录或手机号登录的方式,进入社交类应用A。
其中图7中示意出的应用入口页面为社交类应用A的账号登录页面,本领域的技术人员还可以根据实际需求,将社交类应用A的其他页面作为应用入口页面加载;如若该社交类应用A设置了密码验证时,可以将社交类应用A的密码验证页面设置为应用入口页面;若用户在该终端设备上曾登录使用过该社交类应用A,则可以跳过账号登录页面,直接将该社交类应用A的运行页面作为应用入口页面进行加载等。
上述启动目标虚拟应用的过程中,需要从配置文件中获取预先存储的应用信息,以下对在配置文件中存储应用信息的过程进行说明;具体地,为提高设置目标虚拟应用的方式的灵活度,本申请实施例中可以但不局限于通过如下几种方式将一个或多个虚拟应用设置为目标虚拟应用:
第一种目标虚拟应用设置方式:
用户可以通过沙箱环境触发用于设置目标虚拟应用的应用设置指令,沙箱应用监控到应用设置指令,在第一应用设置页面展示沙箱环境中已安装的虚拟应用的应用标识信息,并呈现该第一应用设置页面;进而用户可以对第一应用设置页面中展示的应用标识信息进行第二目标操作;沙箱应用在监控到用户通过第一应用页面中的应用标识信息指示虚拟应用为目标虚拟应用时,可以将用户通过第一应用页面中的应用标识信息指示的虚拟应用设置为目标虚拟应用,并将该虚拟应用的应用信息,保存至沙箱环境的配置文件中。
请参见图8,给出一种第一显示页面800的示例图,用户可以通过点击其中的应用设置中的设置按键801,查看沙箱应用的设置信息或修改沙箱应用的设置信息;用户也可以通过版本按键802查看当前安装的沙箱应用的版本信息;可以通过应用查询按键803查询沙箱环境中已安装的虚拟应用的信息,可以通过安装按键804查询沙箱应用的安全信息;用户还可以通过“我”的设置按键805触发展示第二显示页面。
请参见图9,此处给出一个第二显示页面900的具体示例,沙箱应用检测到用户点击沙箱环境的第一显示页面800中的“我”的图标805后,展示第二显示页面9100;用户可以通过其中的密码锁设置按键9004触发设置沙箱环境的验证密码,可以通过目标虚拟应用设置按键9001触发设置目标虚拟应用,可以通过权限设置按键9005修改沙箱应用在终端设备上的权限,可以通过关于按键9006查询沙箱应用的说明信息或其它与沙箱应用关联的信息,可以通过日志设置按键9007对沙箱应用的日志进行管理,还可以通过推出登录按键9008退出沙箱环境;其中沙箱应用可以通过如下方式设置目标虚拟应用:沙箱应用检测到用户点击第二显示页面9100中的目标虚拟应用设置9001后,即触发应用设置指令;进而沙箱应用响应应用设置指令,展示第一应用设置页面9200;沙箱应用可以通过沙箱安装列表接口获取已经安装在沙箱环境中的虚拟应用,并将已安装在沙箱环境中的虚拟应用的应用标识信息(如可以但不局限于包括图中9002-1、9002-2、9002-3或9002-4)加载到第一应用设置页面中,并呈现第一应用设置页面9200;进而沙箱应用检测到用户通过第一应用设置页面9200展示的应用标识信息,指示将一个虚拟应用或多个虚拟应用设置为目标虚拟应用,如可以将用户选中的虚拟应用设置为目标虚拟应用并将用户选中的虚拟应用的应用信息保存至沙箱环境的配置文件中;其中用户可以但不局限于通过每个应用标识信息对应的选取框(如可以但不局限于包括图中9003-1、9003-2、9003-3或9003-4),选中对应的虚拟应用。
第二种目标虚拟应用设置方式:
监控到用户通过第二应用设置页面指示虚拟应用为目标虚拟应用时,则将该虚拟应用的应用信息保存至配置文件中。
具体地,上述第二应用设置页面可以在上述应用的安装过程或运行过程中呈现,如沙箱应用检测到用户指示安装或运行某个虚拟应用时,或者正在安装或运行该虚拟应用时,可以显示第二应用设置页面;该第二应用设置页面用于用户指示是否将该虚拟应用设置为目标虚拟应用;请参见图10,此处给出一个第二应用设置页面的示例图,在安装或运行虚拟应用A的过程中,显示第二应用设置页面1000,用户可以通过第二应用设置页面1000中的设置按键1001指示将虚拟应用A设置为目标虚拟应用,或通过不设置按键1002指示不将虚拟应用A设置为目标虚拟应用,其中图中示意出了用户将虚拟应用A设置为目标虚拟应用的情况。
第三种目标虚拟应用设置方式:
该方式中,沙箱应用中限定允许安装的虚拟数量最多为第一数量,或沙箱应用中目前仅安装了第一数量的虚拟应用时,可以将沙箱应用中已安装的虚拟应用都默认设置为目标虚拟应用,并将沙箱应用中已安装的虚拟应用的应用信息都存储至配置文件中;上述第一数量可以但不局限于为1或2等。
作为一种实施例,若未通过上述三种目标虚拟应用设置方式设置目标虚拟应用时,沙箱环境的配置文件中可能并没有存储任何虚拟应用的应用信息,此时为了保证沙箱应用的正常运行,本申请实施例中沙箱应用若确定配置文件中没有预先存储虚拟应用的应用信息,则在沙箱环境中展示沙箱环境的目标页面;请参见图11,该沙箱环境的目标页面可以但不局限于包括沙箱应用的沙箱门户页面1100,该沙箱门户页面1100中可以显示安装在沙箱环境中的各虚拟应用的应用标识信息(如可以但不局限于包括图中虚拟应用B3的应用标识信息1101-1、虚拟应用B6的应用标识信息1101-2、虚拟应用B8的应用标识信息1101-3等),虚拟应用的应用标识信息可以但不局限于包括虚拟应用的图标、应用名称等。
作为一种实施例,考虑到为提升目标虚拟应用的设置灵活度,本申请实施例中在通过上述三种目标虚拟应用设置方式设置目标虚拟应用时,可以设置目标虚拟应用的生效时段,该生效时段即为通过上述指令直接启动目标虚拟应用的有效时段;如可以但局限于将设置虚拟应用为目标虚拟应用的设置时刻至该设置时刻之后的第一预设时长内的时段设置为生效时段,如某一虚拟应用设置为目标虚拟应用的设置时刻为T1,第一预设时长为Tt,则可以将T1时刻至(T1+Tt)时刻组成的时段确定为该虚拟应用作为目标虚拟应用的生效时段;或将设置虚拟应用为目标虚拟应用的设置时刻以及该设置时刻之后的时刻设置为生效时段,如某一虚拟应用设置为目标虚拟应用的设置时刻为T1,则可以将T1时刻以及T1时刻之后的时刻组成的时段确定为该虚拟应用作为目标虚拟应用的生效时段;或指定虚拟应用作为目标虚拟应用的起始时刻和结束时刻,将起始时刻至结束时刻中的时段确定为生效时段,如将某一虚拟应用作为目标虚拟应用的起始时刻为T2,结束时刻为T3,则可以将T2时刻至T3时刻之间的时段设置为生效时段。
其中,上述第一种目标虚拟应用设置方式和第三种目标虚拟应用设置方式中,目标虚拟应用的生效时段可由用户指示,也可以由沙箱应用确定;启动第一中目标虚拟应用设置方式和第二种目标虚拟应用设置方式中,沙箱应用可以将目标虚拟应用的生效时段也作为应用信息存储至配置文件中,进而在沙箱应用从配置文件中获取预先存储的应用信息为目标虚拟应用的应用信息时,可以根据配置文件存储的应用信息中的生效时段,确定配置文件中生效时段包含当前时刻的应用信息;获取上述生效时段包括当前时刻的应用信息为目标虚拟应用的应用信息;这样沙箱应用便可以根据用户的指示,启动当前生效的(生效时段包含当前时刻)目标虚拟应用,并加载目标虚拟应用的应用入口页面。
(二)通过虚拟应用的应用标识信息触发应用启动指令。
该种方式下,用户可以但不局限于通过对展示在沙箱环境外的虚拟应用的应用标识信息进行第二目标操作,以指示外部系统向沙箱应用发送应用启动指令;对应的,外部系统检测到上述第二目标操作后,向沙箱应用发送应用启动指令,上述第二目标操作可以但不局限于包括点击或长按沙箱标识信息等操作。
沙箱应用接收到通过沙箱标识信息触发的应用启动指令后,直接调用触发应用启动指令的虚拟应用的应用子进程;具体地,沙箱应用接收到应用启动指令后,可以确定触发上述应用启动指令的虚拟应用(该虚拟应用与上述触发应用启动指令的沙箱标识信息对应),获取确定的虚拟应用对应的应用信息为目标虚拟应用的应用信息,并调用与获取的应用信息对应的应用子进程,通过调用的应用子进程启动目标虚拟应用和加载目标虚拟应用的应用入口界面。
应当说明的是,该方式中目标虚拟应用是预先设置的,目标虚拟应用的设置方式可参见上述第一种目标虚拟应用设置方式至第三种目标虚拟应用设置方式,此处不再重复叙述,但在通过上述第一种目标虚拟应用设置方式至第三种目标虚拟应用设置方式,将虚拟应用设置为目标虚拟应用后,沙箱应用可以向外部系统发送应用标识更新指令,该应用标识更新指令携带目标虚拟应用的应用标识信息,且该应用标识更新指令用于向外部系统指示将展示的沙箱标识信息更新为目标虚拟应用的应用标识信息;对应地,外部系统接收到标识更新指令后,将展示在桌面页面的沙箱应用标识更新为目标虚拟应用的应用标识信息。
请参见图12,此处给出一个启动目标虚拟应用的效果示例图,外部系统在桌面页面1200中展示虚拟应用的应用标识信息1201,此处以上述社交类应用A作为预先设置的目标虚拟应用为例进行说明,此情况下,在桌面页面1200中展示社交类应用A的应用标识信息1201;进而外部系统检测到用户对应用标识信息1201进行了点击操作,则向沙箱应用发送应用启动指令;沙箱应用响应应用启动指令,可以直接调取与社交类应用A的应用子进程,通过调用的应用子进程启动社交类应用A以及加载社交类应用的应用入口页面700。
(三)通过第三方应用触发应用启动指令。
该种方式下,用户可以但不局限于通过第三方应用触发应用启动指令,该种方式下应用启动指令指示请求调用的目标业务功能,该目标业务功能即是上述根据应用启动指令确定的目标虚拟应用的应用信息,且目标业务功能是第三方应用请求调用上述沙箱环境中的业务功能;外部系统向沙箱应用发动应用启动指令。
沙箱应用接收应用启动指令后,确定接收的应用启动指令指示的目标业务功能,获取业务功能与目标业务功能匹配的虚拟应用的应用信息,为目标虚拟应用的应用信息;进而调用与获取的应用信息对应的应用子进程,并通过调用的应用子进程启动目标虚拟应用和加载目标虚拟应用的应用入口界面。
作为一种实施例,本申请实施例设置的目标虚拟应用包括多个时,当设置多个目标虚拟应用时,可以同时调用多个目标虚拟应用的应用子进程,通过调用的应用子进程启动对应的目标虚拟应用,并加载对应的目标虚拟应用的应用入口页面,此时沙箱环境中可以分区域展示多个目标虚拟应用的应用入口页面,请参见图13,给出了一个展示有两个目标虚拟应用的应用入口页面的显示页面1300,其中左侧的应用入口页面700为上述社交类应用A(目标虚拟应用)的页面,右侧的应用入口页面1310为一个文件处理应用(目标虚拟应用)的页面;上述显示页面1300仅给出一个显示有两个目标虚拟应用的应用入口页面的示例,本领域的技术人员可根据实际需求设置显示页面1300中显示的目标虚拟应用的应用入口页面的数量以及显示位置。
作为一种实施例,考虑到保证用户能够正常使用沙箱环境中除目标虚拟应用外的虚拟应用,本申请实施例中,还可以设置用户可以从目标虚拟应用的应用入口页面通过终端设备的退回按键,返回沙箱应用的沙箱门户页面1100,也可以通过终端设备上的返回桌面页面的返回按键(如可以但不局限于包括智能手机中的Home按键)返回外部系统提供的桌面页面200。
作为一种实施例,用户在长时间不登录沙箱环境或其它原因等,可能不知道当前已设置的目标虚拟应用,因此本申请实施例中提供一种目标虚拟应用查询页面,用户可以通过触发显示目标虚拟应用查询页面获知当前已设置的目标虚拟应用,对应地,沙箱应用监控到目标虚拟应用查询指令时,可以获取确定当前已设置的目标虚拟应用,并在目标虚拟应用查询页面中加载目标虚拟应用的应用标识信息,以及呈现加载目标虚拟应用的应用标识信息后的目标虚拟应用查询页面。
作为一种实施例,用户在不同的时段可能偏好使用不同的虚拟应用,用户在当前不偏好某些已经设置为目标虚拟应用的虚拟应用时,还可以将当前不偏好的目标虚拟应用设置为一般的虚拟应用,即若用户在历史操作中将虚拟应用A设置为目标虚拟应用后,若当前不再偏好该虚拟应用A,则可以取消该虚拟应用A作为目标虚拟应用的权限;具体地,沙箱应用监控到用于取消目标虚拟应用设置的应用设置取消指令时,可以确定该应用设置取消指令指示的目标虚拟应用,并取消该目标虚拟应用作为目标虚拟应用的权限,将其设置为一般的虚拟应用,上述应用设置取消指令可以是通过上述目标虚拟应用查询页面触发的,也可以是通过其它操作触发,本领域的技术人员可根据实际需求设置。
请参见图14,为了便于理解上述内容,本申请实施例提供一种目标虚拟应用查询页面1400,用户触发目标虚拟应用查询指令后,可以通过展示的目标虚拟应用查询1400,查看当前已设置为目标虚拟应用的虚拟应用的应用标识信息(如可以但不包括图中示意出的虚拟应用D1的应用标识信息1401-1、虚拟应用D2的应用标识信息1401-2以及虚拟应用D3的应用标识信息1401-3);进一步,用户还可以通过目标虚拟应用查询1400中展示的取消设置按键,触发应用设置取消指令,如可以通过应用标识信息对应的取消设置按键,取消上述应用标识信息对应的虚拟应用作为目标虚拟应用的权限,如通过图中示意图的取消设置按键(如可以但不包括图中示意出的取消设置按键1402-1、取消设置按键1402-2以及取消设置按键1402-3)取消对应的虚拟应用作为目标虚拟应用的设置。
作为一种实施例,考虑到如果设置了直接启动的目标虚拟应用,但是可能会由于目标虚拟应用自身异常或其他因素未能启动目标虚拟应用的应用入口页面时,会造成目标虚拟应用的闪退现象,故而为了避免这种闪退现象的影响,本申请实施例中设置了目标虚拟应用启动成功的消息广播机制,即目标虚拟应用的应用子进程确定目标虚拟应用的应用入口页面加载成功(即目标虚拟应用启动成功)后,以广播的机制发送广播消息以向沙箱应用通知目标虚拟应用启动成功;同时沙箱应用在调用目标虚拟应用的应用子进程时,可以注册监听目标虚拟应用的应用子进程的上述广播消息,在设定时长内监听到广播消息,则确定目标虚拟应用启动成功,否则确定目标虚拟应用启动失败,进而可以加载沙箱应用的沙箱门户页面;其中若沙箱应用通过沙箱服务进程调用目标虚拟应用的应用子进程,则可由沙箱服务进程监听上述广播消息。
以下提供一个启动沙箱环境中的虚拟应用的过程的具体示例,该示例中用户点击桌面页面中展示的沙箱图标后,外部系统生成应用启动指令,并将应用启动指令发送给沙箱应用,请参见图15沙箱应用在启动虚拟应用的过程中,执行如下操作:
步骤S1501,接收应用启动指令。
触发应用启动指令的方式可参见上述内容,此处不再重复叙述。
步骤S1502,判断是否展示第一密码验证页面,若是,则进入步骤S1503,否则进入步骤S1505。
步骤S1503,展示第一密码验证页面,并确定用户输入的沙箱验证密码。
步骤S1504,验证用户输入的沙箱验证密码是否正确,若正确,则进入步骤S1505,否则进入步骤S1503。
步骤S1505,判断是否设置了直接启动的目标虚拟应用,若设置了,则进入步骤S1506,否则进入步骤S1512。
具体地,若沙箱环境的配置文件中有预先存储的应用信息,则确定设置了目标虚拟应用,若沙箱环境的配置信息中没有预先存储的应用信息,则确定未设置目标虚拟应用。
步骤S1506,从沙箱环境的配置文件中获取预先存储的应用信息为目标虚拟应用的应用信息。
步骤S1507,启动沙箱服务模块。
步骤S1508,通过沙箱服务模块调用与获取的应用信息对应的应用子进程,并进入步骤S1511。
步骤S1509,注册监听调用的应用子进程的广播消息。
其中调用的应用子进程确定目标虚拟应用的应用入口页面加载成功(即目标虚拟应用启动成功)后,会以广播的机制发送广播消息以向沙箱应用通知目标虚拟应用启动成功。
应当说明的是,上述步骤S1508和步骤S1509可以同时进行。
步骤S1510,判断在设定时长内是否监听到广播消息,若监听到则结束,否则进入步骤S1512。
步骤S1511,通过调用的应用子进程启动目标虚拟应用,并加载目标虚拟应用的应用入口页面。
步骤S1512,展示沙箱环境的沙箱门户页面。
作为一种实施例,用户在使用上述目标虚拟应用后,用户还可以通过终端设备的退回按键,返回沙箱环境的沙箱门户页面;具体地,沙箱应用监控到用户点击终端设备的退回按键后,退出目标虚拟应用的页面,进入沙箱门户页面。
本申请实施例的以下内容,提供一个基于沙箱环境的虚拟应用启动控制方法的具体示例。
该示例中以智能手机为终端设备100,以安卓Android系统为外部系统110,沙箱应用的沙箱应用标识(以沙箱应用的应用图标为例)展示在上述桌面页面中,以虚拟应用的应用包名作为虚拟应用的应用信息,以上述通过沙箱标识信息触发应用启动指令且该示例中以启动意图Intent作为上述目标虚拟应用的应用启动指令为例进行说明。
该示例中主要包括目标虚拟应用的设置过程和目标虚拟应用的启动过程,请参见图16,对上述目标虚拟应用的设置过程和目标虚拟应用的启动过程中,以各进程之间的交互为例进行详细的说明。
目标虚拟应用的设置过程中,用户和沙箱应用(沙箱主进程)之间的交互过程如下:
步骤S1601,用户通过沙箱环境,触发目标虚拟应用的应用设置指令。
用户触发应用设置指令的具体过程可参见图8和图9的内容,此处不再重复说明。
步骤S1602,沙箱主进程响应应用设置指令,通过沙箱安装列表接口获取已经安装在沙箱环境中的虚拟应用的应用标识信息;
步骤S1603,沙箱主进程通过第一应用设置页面展示获取的虚拟应用的应用标识信息。
如沙箱主进程检测到应用设置指令后,可以通过沙箱安装列表接口获取已经安装在沙箱环境中的虚拟应用,并将已安装在沙箱环境中的虚拟应用的应用标识信息展示在上述图9中的第二显示页面9200。
步骤S1604,用户可以对展示的虚拟应用的应用标识信息进行第二目标操作,以向沙箱主进程指示将用户选中的虚拟应用设置为目标虚拟应用。
具体地,用户通过点击图9示意出的选取框(如9003-1、9003-2、9003-3或9003-4等)向沙箱主进程指示将用户选中的虚拟应用设置为目标虚拟应用。
步骤S1605,沙箱主进程将用户选中的虚拟应用设置为目标虚拟应用,并将设置的目标虚拟应用的应用信息存储至配置文件中。
目标虚拟应用的启动过程中,用户、外部系统和沙箱应用(包括沙箱主进程、沙箱服务进程和被调用的应用子进程)之间的交互过程如下:
步骤S1606,用户点击桌面页面中显示的沙箱应用的沙箱图标。
步骤S1607,Android系统检测到用户点击桌面页面中的沙箱图标,则向沙箱主进程发送启动意图Intent(即上述目标虚拟应用的应用启动指令)。
具体地,Android系统检测到用户点击沙箱图标时确定启动意图Intent,并将启动意图Intent发送给沙箱主进程(此处又称为Android系统通过启动意图Intent创建沙箱启动实例);上述启动意图Intent可以用于指示启动沙箱应用,其包括启动沙箱应用的参数。
步骤S1608,沙箱主进程接收应用启动指令后,从配置文件中获取预先存储的应用信息为目标虚拟应用的应用信息
步骤S1609,沙箱主进程将获取的应用信息发送给沙箱服务进程。
步骤S1610,沙箱服务进程调用与接收的应用信息对应的应用子进程。
步骤S1611,调用的应用子进程启动目标虚拟应用。
该步骤中,在启动目标虚拟应用时,调用的应用子进程会调用目标虚拟应用的应用组件对象Application进行目标虚拟应用的绑定操作和初始化操作,该初始化操作可以但不局限于包括将目标虚拟应用的Application加载到调用的应用子进程中的一系列操作。
步骤S1612,调用的应用子进程加载目标虚拟应用的应用入口页面,加载成功后发送目标虚拟应用启动成功的广播消息。
在目标虚拟应用的应用子进程中,通过在应用入口页面的被显示的生命周期(即名为onResume的方法)被调用时进行广播消息发送,以通知沙箱服务进程目标虚拟应用启动成功;其中目标虚拟应用的启动,可以是由沙箱框架提供的代理控件Activity作为虚拟应用控件的载体从而启动起来的。
步骤S1613,沙箱服务进程注册广播,监听目标虚拟应用的应用子进程的广播消息,进入步骤S1614或S1615。
步骤S1614,沙箱服务进程在设定时长内监听到上述广播消息,确定目标虚拟应用启动成功,并通过回调,向沙箱主进程发送目标虚拟应用启动成功的通知。
步骤S1615,沙箱服务进行在设定时长内容未监听到广播消息,则确定目标虚拟应用启动失败,进而指示沙箱主进程加载沙箱应用的沙箱门户页面。
应当说明的是,上述步骤S1613和步骤S1610无固定的先后顺序,本领域的技术人员可根据实际需求设置。
请参见图17,以下对目标虚拟应用的启动过程中,沙箱主进程、沙箱服务进程和目标虚拟应用的应用子进程之间的调用过程进行说明。
沙箱主进程接收外部系统发送的启动意图Intent后,通过沙箱主进程中的jumpToMainTabs接口调用getLaucherApp接口;通过getLaucherApp接口判断展示沙箱门户页面还是加载目标虚拟应用的应用入口页面;具体地,getLaucherApp接口确定配置文件中没有存储任何虚拟应用的应用包名时,加载沙箱门户页面;getLaucherApp接口确定配置文件中存储有应用包名时,从配置文件中获取应用包名,且取出启动意图Intent中的参数Extras,进而沙箱主进程将获取的目标虚拟应用的应用信息和参数Extras封装后,通过launchSandboxAppWithCallback接口发送给沙箱服务进程。
沙箱服务进程接收应用包名后,通过进程跳转launchApp接口调用与接收的应用包名匹配的应用子进程,并注册监听目标虚拟应用启动成功的广播消息,以获知目标虚拟应用的启动结果;以及沙箱服务进程通过startActivity接口加载目标虚拟应用的应用入口页面。
目标虚拟应用的应用子进程(即被调用的应用子进程)启动目标虚拟应用(即目标虚拟应用的应用子进程初始化虚拟环境)以及加载目标虚拟应用的应用入口页面。
本申请实施例中,用户可以通过沙箱环境外的对象,触发应用启动指令,通过应用启动指令直接调启动目标虚拟应用并展示目标虚拟应用的应用入口页面,即可以通过沙箱环境外的对象直接启动沙箱环境中的虚拟应用,此过程中不需要进入沙箱的页面即可启动虚拟应用,简化了安装在沙箱环境中的虚拟应用的启动过程,进而提升了虚拟应用的启动效率;且本申请实施例中能将应用启动指令(启动意图Intent)中的数据,封装在启动目标虚拟应用的应用子进程的参数中,再由目标虚拟应用的应用子进程将参数传递给目标虚拟应用,实现应用直达的效果并且数据无缝传递对接,100%还原了启动场景,且通过沙箱环境外的对象触发应用启动指令时,系统在应用启动指令中构造的参数不多,能够提高目标虚拟应用的启动效率。
请参照图18,基于同一发明构思,本申请实施例提供一种基于沙箱环境的虚拟应用启动控制装置1800,包括:
指令接收单元1801,用于接收通过沙箱环境外的对象触发的应用启动指令;
应用信息获取单元1802,用于根据上述应用启动指令获取待启动的目标虚拟应用的应用信息,上述目标虚拟应用包括安装在上述沙箱环境中的虚拟应用;
进程调用单元1803,用于调用与获取上述待启动的目标虚拟应用的应用信息对应的应用子进程;
应用启动单元1804,用于通过上述应用子进程启动上述目标虚拟应用,并加载上述目标虚拟应用的应用入口页面。
作为一种实施例,上述对象为上述沙箱环境的沙箱标识信息,应用信息获取单元1802具体用于:
接收上述应用启动指令;
从上述沙箱环境的配置文件中,获取预先存储的应用信息为上述目标虚拟应用的应用信息,上述预先存储的应用信息包括至少一个上述虚拟应用的应用信息。
作为一种实施例,上述对象为上述虚拟应用的应用标识信息,应用信息获取单元1802具体用于:
确定触发上述应用启动指令的虚拟应用;
获取确定的虚拟应用的应用信息为上述目标虚拟应用的应用信息。
作为一种实施例,上述对象为运行在上述沙箱环境外的第三方应用,应用信息获取单元1802具体用于:
确定上述应用启动指令指示的目标业务功能,上述目标业务功能是上述第三方应用请求调用上述沙箱环境的业务功能;
获取业务功能与上述目标业务功能匹配的虚拟应用的应用信息,为上述目标虚拟应用的应用信息。
作为一种实施例,应用信息获取单元1802还用于:
监控到用于设置上述目标虚拟应用的应用设置指令时,在第一应用设置页面中加载上述沙箱环境中已安装的虚拟应用的应用标识信息,并呈现上述第一应用设置页面;将用户通过上述第一应用页面中的应用标识信息指示的虚拟应用的应用信息,存储至上述配置文件中;或
监控到用户通过第二应用设置页面指示上述虚拟应用为目标虚拟应用时,将上述虚拟应用的应用信息保存至上述配置文件中,其中上述第二应用设置页面在上述虚拟应用的安装过程或运行过程中呈现。
作为一种实施例,应用信息获取单元1802还用于:
确定上述配置文件中没有预先存储的应用信息;
在上述沙箱环境中展示上述沙箱环境的目标页面。
作为一种实施例,上述应用信息中包括启动上述虚拟应用的有效时段,上述应用信息获取单元具体用于:
确定上述配置文件中生效时段包含当前时刻的应用信息;
获取确定的应用信息为上述目标虚拟应用的应用信息。
作为一种实施例,指令接收单元1801还用于:
监控到目标虚拟应用查询指令时,在目标虚拟应用查询页面中加载上述目标虚拟应用的应用标识信息,并呈现上述目标虚拟应用查询页面。
作为一种实施例,指令接收单元1801还用于:
监控到用于取消目标虚拟应用设置的应用设置取消指令时,将上述应用设置取消指令指示的目标虚拟应用,设置为上述虚拟应用。
作为一种实施例,进程调用单元1803具体用于:
通过沙箱服务代码逻辑,调用与上述获取的应用信息对应的应用子进程;或
将上述获取的应用信息发送给沙箱服务进程,通过上述沙箱服务进程,调用与上述获取的应用信息对应的应用子进程。
作为一种实施例,图18中的装置可以用于实现前文论述的任意一种沙箱环境中的虚拟应用的控制启动方法。
基于同一发明构思,本申请实施例提供一种终端设备100,下面对该终端设备100进行介绍。
请参照图19,该终端设备100包括显示单元1940、处理器1980以及存储器1920,其中,显示单元1940包括显示面板1941,用于显示由用户输入的信息或提供给用户的信息以及外部系统110、沙箱应用120、虚拟应用130和第三方应用140的各种操作页面等,在本申请实施例中主要用于显示终端设备100中已安装的客户端的页面、快捷窗口等。
可选的,可以采用液晶显示器(Liquid Crystal Display,LCD)或有机发光二极管OLED(Organic Light-Emitting Diode)等形式来配置显示面板1941。
处理器1980用于读取计算机程序,然后执行计算机程序定义的方法,例如处理器1980读取各类应用如第三方应用和沙箱应用等,从而在该终端设备100上运行应用,在显示单元1940上显示应用的页面。处理器1980可以包括一个或多个通用处理器,还可包括一个或多个DSP(Digital Signal Processor,数字信号处理器),用于执行相关操作,以实现本申请实施例所提供的技术方案。
存储器1920一般包括内存和外存,内存可以为随机存储器(RAM),只读存储器(ROM),以及高速缓存(CACHE)等。外存可以为硬盘、光盘、USB盘、软盘或磁带机等。存储器1920用于存储计算机程序和其他数据,该计算机程序包括客户端对应的应用程序等,其他数据可包括操作系统或应用程序被运行后产生的数据,该数据包括系统数据(例如操作系统的配置参数)和用户数据。本申请实施例中程序指令存储在存储器1920中,处理器1980执行存储器1920中的程序指令,实现前文图论述的任意的一种基于沙箱环境的虚拟应用启动控制方法。
此外,终端设备100还可以包括显示单元1940,用于接收输入的数字信息、字符信息或接触式触摸操作/非接触式手势,以及产生与终端设备100的用户设置以及功能控制有关的信号输入等。具体地,本申请实施例中,该显示单元1940可以包括显示面板1941。显示面板1941例如触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在显示面板1941上或在显示面板1941的操作),并根据预先设定的程式驱动相应的连接装置。可选的,显示面板1941可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测玩家的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器1980,并能接收处理器1980发来的命令并加以执行。在本申请实施例中,若用户点击页面中的信息,则在显示面板1941中的触摸检测装置检测到触摸操作,则将检测到的触摸操作对应的信号发送的触摸控制器,触摸控制器将信号转换成触点坐标发送给处理器1980,处理器1980根据接收到的触点坐标确定用户的指示。
其中,显示面板1941可以采用电阻式、电容式、红外线以及表面声波等多种类型实现。除了显示单元1940,终端设备100还可以包括输入单元1930,输入单元1930可以但不局限于包括图像输入设备1931和其他输入设备1932,其他输入设备1932可以但不局限于包括物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
除以上之外,终端设备100还可以包括用于给其他模块供电的电源1990、音频电路1960、近场通信模块1970和RF电路1910。终端设备100还可以包括一个或多个传感器1950,例如加速度传感器、光传感器、压力传感器等。音频电路1960具体包括扬声器1961和麦克风1962等,例如终端设备100可以通过麦克风1962采集用户的声音,进行相应的操作等。
作为一种实施例,处理器1980的数量可以是一个或多个,处理器1980和存储器1920可以是耦合设置,也可以是相对独立设置。
作为一种实施例,图19中的处理器1980可以用于实现如图18中的指令接收单元1801、应用信息获取单元1802、进程调用单元1803和应用启动单元1804的功能。
作为一种实施例,图19中的处理器1980可以用于实现前文论述的外部系统110和沙箱应用120的功能。
在一些可能的实施方式中,本申请实施例提供的基于沙箱环境的虚拟应用启动控制方法的每个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在计算机设备上运行时,程序代码用于使计算机设备执行本说明书上述描述的根据本申请各种示例性实施方式的基于沙箱环境的虚拟应用启动控制方法中的步骤。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例上述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
基于同一技术构思,本申请实施例还一种计算机可读存储介质,该计算机可读存储介质存储有计算机指令,当上述计算机指令在计算机上运行时,使得计算机执行如前文论述的基于沙箱环境的虚拟应用启动控制方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (13)
1.一种基于沙箱环境的虚拟应用启动控制方法,其特征在于,所述方法包括:
接收通过沙箱环境外的对象触发的应用启动指令;
根据所述应用启动指令获取待启动的目标虚拟应用的应用信息,所述目标虚拟应用包括安装在所述沙箱环境中的虚拟应用;
调用与获取所述待启动的目标虚拟应用的应用信息对应的应用子进程;
通过所述应用子进程启动所述目标虚拟应用,并加载所述目标虚拟应用的应用入口页面。
2.如权利要求1所述的方法,其特征在于,所述对象为所述沙箱环境的沙箱标识信息,所述根据所述应用启动指令获取待启动的目标虚拟应用的应用信息,包括:
接收所述应用启动指令;
从所述沙箱环境的配置文件中,获取预先存储的应用信息为所述目标虚拟应用的应用信息,所述预先存储的应用信息包括至少一个所述虚拟应用的应用信息。
3.如权利要求1所述的方法,其特征在于,所述对象为所述虚拟应用的应用标识信息,所述根据所述应用启动指令获取待启动的目标虚拟应用的应用信息,包括:
确定触发所述应用启动指令的虚拟应用;
获取确定的虚拟应用的应用信息为所述目标虚拟应用的应用信息。
4.如权利要求1所述的方法,其特征在于,所述对象为运行在所述沙箱环境外的第三方应用,所述根据所述应用启动指令获取待启动的目标虚拟应用的应用信息,包括:
确定所述应用启动指令指示的目标业务功能,所述目标业务功能是所述第三方应用请求调用所述沙箱环境的业务功能;
获取业务功能与所述目标业务功能匹配的虚拟应用的应用信息,为所述目标虚拟应用的应用信息。
5.如权利要求2所述的方法,其特征在于,还包括:
监控到用于设置所述目标虚拟应用的应用设置指令时,在第一应用设置页面中加载所述沙箱环境中已安装的虚拟应用的应用标识信息,并呈现所述第一应用设置页面;将用户通过所述第一应用页面中的应用标识信息指示的虚拟应用的应用信息,存储至所述配置文件中;或
监控到用户通过第二应用设置页面指示所述虚拟应用为目标虚拟应用时,将所述虚拟应用的应用信息保存至所述配置文件中,其中所述第二应用设置页面在所述虚拟应用的安装过程或运行过程中呈现。
6.如权利要求2所述的方法,其特征在于,还包括:
确定所述配置文件中没有预先存储的应用信息;
在所述沙箱环境中展示所述沙箱环境的目标页面。
7.如权利要求2所述的方法,其特征在于,所述应用信息中包括启动所述虚拟应用的有效时段,所述从所述沙箱环境的配置文件中,获取预先存储的应用信息为所述目标虚拟应用的应用信息,包括:
确定所述配置文件中生效时段包含当前时刻的应用信息;
获取确定的应用信息为所述目标虚拟应用的应用信息。
8.如权利要求1-3或5-7任一项所述的方法,其特征在于,还包括:
监控到目标虚拟应用查询指令时,在目标虚拟应用查询页面中加载所述目标虚拟应用的应用标识信息,并呈现所述目标虚拟应用查询页面。
9.如权利要求1-3或5-7任一项所述的方法,其特征在于,还包括:
监控到用于取消目标虚拟应用设置的应用设置取消指令时,将所述应用设置取消指令指示的目标虚拟应用,设置为所述虚拟应用。
10.如权利要求1-7任一项所述的方法,其特征在于,所述调用与获取的应用信息对应的应用子进程,包括:
通过沙箱服务代码逻辑,调用与所述获取的应用信息对应的应用子进程;或
将所述获取的应用信息发送给沙箱服务进程,通过所述沙箱服务进程,调用与所述获取的应用信息对应的应用子进程。
11.一种基于沙箱环境的虚拟应用启动控制装置,其特征在于,包括:
指令接收单元,用于接收通过沙箱环境外的对象触发的应用启动指令;
应用信息获取单元,用于根据所述应用启动指令获取待启动的目标虚拟应用的应用信息,所述目标虚拟应用包括安装在所述沙箱环境中的虚拟应用;
进程调用单元,用于调用与获取的应用信息对应的应用子进程;
应用启动单元,用于通过所述应用子进程启动所述目标虚拟应用,并加载所述目标虚拟应用的应用入口页面。
12.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1-10中任一权利要求所述方法的步骤。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行如权利要求1-10中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011111187.4A CN111949334B (zh) | 2020-10-16 | 2020-10-16 | 基于沙箱环境的虚拟应用启动控制方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011111187.4A CN111949334B (zh) | 2020-10-16 | 2020-10-16 | 基于沙箱环境的虚拟应用启动控制方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111949334A true CN111949334A (zh) | 2020-11-17 |
CN111949334B CN111949334B (zh) | 2021-06-18 |
Family
ID=73356507
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011111187.4A Active CN111949334B (zh) | 2020-10-16 | 2020-10-16 | 基于沙箱环境的虚拟应用启动控制方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111949334B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112966257A (zh) * | 2021-05-18 | 2021-06-15 | 腾讯科技(深圳)有限公司 | 一种应用程序的授权方法及装置 |
CN113067840A (zh) * | 2021-06-03 | 2021-07-02 | 江苏天翼安全技术有限公司 | 一种云化插件式漏洞响应的蜜网架构实现方法 |
CN113641996A (zh) * | 2021-05-26 | 2021-11-12 | 荣耀终端有限公司 | 检测方法、图形界面及相关装置 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120017213A1 (en) * | 2010-07-13 | 2012-01-19 | Microsoft Corporation | Ultra-low cost sandboxing for application appliances |
CN103500104A (zh) * | 2013-09-09 | 2014-01-08 | 北京奇虎科技有限公司 | 一种沙箱界面的实现方法和装置 |
CN104376256A (zh) * | 2014-12-02 | 2015-02-25 | 北京奇虎科技有限公司 | 应用程序进程孵化控制方法及装置 |
CN104408367A (zh) * | 2014-11-28 | 2015-03-11 | 北京奇虎科技有限公司 | 应用程序配置方法与装置 |
CN104573507A (zh) * | 2015-02-05 | 2015-04-29 | 浪潮电子信息产业股份有限公司 | 一种安全容器及其设计方法 |
CN106384045A (zh) * | 2016-09-12 | 2017-02-08 | 电子科技大学 | 基于应用程序虚拟化的安卓存储应用沙箱及通信方法 |
CN108229149A (zh) * | 2017-12-29 | 2018-06-29 | 北京安云世纪科技有限公司 | 一种数据保护的方法和装置 |
CN108681473A (zh) * | 2018-05-18 | 2018-10-19 | 广州酷狗计算机科技有限公司 | 应用程序生成、运行方法、装置、计算机设备和存储介质 |
CN110059476A (zh) * | 2018-12-06 | 2019-07-26 | 阿里巴巴集团控股有限公司 | 一种应用的访问方法、装置及设备 |
CN110543789A (zh) * | 2018-05-29 | 2019-12-06 | 腾讯科技(深圳)有限公司 | 手柄与第三方应用程序进行适配的方法、装置及存储介质 |
CN111722894A (zh) * | 2019-03-21 | 2020-09-29 | 成都鼎桥通信技术有限公司 | 应用处理方法、装置及电子设备 |
-
2020
- 2020-10-16 CN CN202011111187.4A patent/CN111949334B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120017213A1 (en) * | 2010-07-13 | 2012-01-19 | Microsoft Corporation | Ultra-low cost sandboxing for application appliances |
CN103500104A (zh) * | 2013-09-09 | 2014-01-08 | 北京奇虎科技有限公司 | 一种沙箱界面的实现方法和装置 |
CN104408367A (zh) * | 2014-11-28 | 2015-03-11 | 北京奇虎科技有限公司 | 应用程序配置方法与装置 |
CN104376256A (zh) * | 2014-12-02 | 2015-02-25 | 北京奇虎科技有限公司 | 应用程序进程孵化控制方法及装置 |
CN104573507A (zh) * | 2015-02-05 | 2015-04-29 | 浪潮电子信息产业股份有限公司 | 一种安全容器及其设计方法 |
CN106384045A (zh) * | 2016-09-12 | 2017-02-08 | 电子科技大学 | 基于应用程序虚拟化的安卓存储应用沙箱及通信方法 |
CN108229149A (zh) * | 2017-12-29 | 2018-06-29 | 北京安云世纪科技有限公司 | 一种数据保护的方法和装置 |
CN108681473A (zh) * | 2018-05-18 | 2018-10-19 | 广州酷狗计算机科技有限公司 | 应用程序生成、运行方法、装置、计算机设备和存储介质 |
CN110543789A (zh) * | 2018-05-29 | 2019-12-06 | 腾讯科技(深圳)有限公司 | 手柄与第三方应用程序进行适配的方法、装置及存储介质 |
CN110059476A (zh) * | 2018-12-06 | 2019-07-26 | 阿里巴巴集团控股有限公司 | 一种应用的访问方法、装置及设备 |
CN111722894A (zh) * | 2019-03-21 | 2020-09-29 | 成都鼎桥通信技术有限公司 | 应用处理方法、装置及电子设备 |
Non-Patent Citations (1)
Title |
---|
陈鑫尧: ""怎样设置沙盘软件Sandboxie并使用"", 《HTTPS://JINGYAN.BAIDU.COM/ARTICLE/642C9D34E49CD8644A46F70B.HTML》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112966257A (zh) * | 2021-05-18 | 2021-06-15 | 腾讯科技(深圳)有限公司 | 一种应用程序的授权方法及装置 |
CN112966257B (zh) * | 2021-05-18 | 2022-02-08 | 腾讯科技(深圳)有限公司 | 一种应用程序的授权方法及装置 |
CN113641996A (zh) * | 2021-05-26 | 2021-11-12 | 荣耀终端有限公司 | 检测方法、图形界面及相关装置 |
CN113067840A (zh) * | 2021-06-03 | 2021-07-02 | 江苏天翼安全技术有限公司 | 一种云化插件式漏洞响应的蜜网架构实现方法 |
CN113067840B (zh) * | 2021-06-03 | 2021-08-24 | 江苏天翼安全技术有限公司 | 一种云化插件式漏洞响应的蜜网架构实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111949334B (zh) | 2021-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111949334B (zh) | 基于沙箱环境的虚拟应用启动控制方法、装置及设备 | |
CN108932429B (zh) | 应用程序的分析方法、终端及存储介质 | |
CN109308241B (zh) | 监听应用程序启动流程方法、装置、终端设备和存储介质 | |
CN106371752B (zh) | 一种安卓系统智能终端的虚拟按键实现方法及装置 | |
CN109213667B (zh) | 一种Android系统的异常处理方法及电子设备 | |
CN109074278B (zh) | 验证移动应用中的有状态动态链接 | |
US20220129256A1 (en) | Android penetration method and device for implementing silent installation based on accessibility services | |
WO2019228095A1 (zh) | 手柄与第三方应用程序进行适配的方法、装置及存储介质 | |
US9454463B2 (en) | Rapid automation front-end framework library and executable graphic user interface testing system and method | |
US11846972B2 (en) | Method and apparatus for generating software test reports | |
CN112559069B (zh) | 子应用的运行控制方法、装置、存储介质和电子设备 | |
US20190026214A1 (en) | Using a pre-installation environment to debug a server without a functioning operating system | |
CN107765972A (zh) | 一种安卓终端截屏方法 | |
CN112162795A (zh) | 一种插件启动方法、装置、计算机设备和存储介质 | |
CN110888740B (zh) | 小程序的增量内存确定方法、装置、设备及存储介质 | |
CN106357667B (zh) | 多开应用中分身应用的账号管理方法、装置及智能终端 | |
CN109948330B (zh) | 应用管理服务的实现方法、装置、设备及存储介质 | |
CN104487935A (zh) | 记录外部过程 | |
CN111866557B (zh) | 大屏显示设备的配置方法、装置、存储介质以及电子设备 | |
CN107766068B (zh) | 应用系统补丁安装方法、装置、计算机设备和存储介质 | |
EP2360578A1 (en) | A method for detecting user screens in mobile devices working under symbian operating system | |
CN109783261B (zh) | 终端应用的崩溃处理方法及装置、电子设备、存储介质 | |
JP2015106236A (ja) | 情報処理装置及びユーザ認証方法 | |
CN108984212B (zh) | 一种关闭进程的方法以及电子设备 | |
CN112988304B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |