应用程序调用方法、装置和移动终端与流程

文档序号:12720885阅读:242来源:国知局
应用程序调用方法、装置和移动终端与流程

本发明涉及移动终端安全技术领域,具体而言,本发明涉及一种应用程序调用方法、装置和移动终端。



背景技术:

一些移动终端出于安全考虑,设置了相应的安全模式,以保护用户在网上交易、网上支付、银行查询等等场合的安全。例如,360手机的财产隔离系统,该系统一方面通过内置安全应用商店的方式来防止盗取木马、仿冒应用的入侵,从源头上保证了应用的来源安全;另一方面还通过构建专门网络通道,对账户密码等数据进行加密传输,确保数据在传输过程中的安全。同时,还将金融理财等数据进行系统隔离,禁止恶意应用非法读取,从根本上保障了用户支付环境的安全。然而,如果普通模式下安装了APP1(例如美团APP)而没有安装APP2(例如支付宝APP),但是安全模式下安装了APP2,如果APP1需要调用APP2则由于安全模式与普通模式相互隔离而无法调用成功,用户被迫在安全模式下安装APP1或被迫在普通模式下安装APP2,APP重复安装而占用系统大量空间,用户体验不佳。

另一方面,这些安全模式通常是基于“沙箱”隔离技术,但是由于很多应用都要求获取沙箱之外的权限,当用户下载安装一个应用时,可能将被要求给予该应用程序打破沙箱的权限。由于用户想使用该应用的全部功能,因而会被引导赋予该应用相关权限,导致沙箱的安全隔离没有保证,安全性有待提高。



技术实现要素:

本发明的目的旨在至少能解决上述的技术缺陷之一,特别是APP重复安装而占用系统大量空间的技术缺陷。

本发明提供一种应用程序调用方法,包括如下步骤:

接收第一应用调用第二应用的调用指令;

判断当前以管理员账户身份登录的系统普通模式下是否安装有第二应用,若有则根据所述调用指令在系统普通模式下运行所述第二应用,若无则继续判断以普通用户账户身份登录的系统保护模式下是否安装有第二应用;

若系统保护模式下安装有第二应用,则将系统从当前系统普通模式切换成系统保护模式;

根据所述调用指令在所述系统保护模式下运行所述第二应用;

其中,所述系统保护模式下配置有用于为预定应用的运行提供运行资源的安全空间,该安全空间在系统普通模式下不可访问。

在其中一个实施例中,所述判断当前以管理员账户身份登录的系统普通模式下是否安装有第二应用的过程包括:

获取所述第一应用的身份信息;

获取已安装应用集合;

判断所述第一应用是否存在于所述已安装应用集合中。

在其中一个实施例中,所述身份信息包括包名或数字签名。

在其中一个实施例中,所述系统为安卓系统,通过getPackageManager()方法获取所述已安装应用集合。

在其中一个实施例中,所述将系统从当前系统普通模式切换成系统保护模式的过程包括:

判断所述第一应用是否具有调用安装于所述系统保护模式下的应用的权限,若有则将系统从当前系统普通模式切换成系统保护模式。

在其中一个实施例中,通过预设数据库判断所述第一应用是否具有调用安装于所述系统保护模式下的应用的权限,所述预设数据库存储有所述第一应用和能够被所述第一应用调用的应用的关系信息。

在其中一个实施例中,所述将系统从当前系统普通模式切换成系统保护模式的过程包括:

向用户发出是否允许所述第一应用调用安装于所述系统保护模式下的应用的询问信息;

接收用户输入的确认指令,将系统从当前系统普通模式切换成系统保护模式。

在其中一个实施例中,所述系统为安卓系统,调用ActivityManager类中的switchUser()方法以从管理员账号切换到普通用户账号,从而使得系统从当前系统普通模式切换成系统保护模式。

在其中一个实施例中,所述预定应用包括支付相关的应用、理财相关的应用和银行相关的应用中的至少其中一种。

在其中一个实施例中,所述运行资源包括该应用程序本身、该应用配置数据和该应用用户数据其中至少一种,所述安全空间包括存储空间。

在其中一个实施例中,所述运行资源包括运行保护策略,所述安全空间包括存储空间及其相应的运行保护策略配置环境。

在其中一个实施例中,对所述第二应用的调用结束后,将系统从系统保护模式切换成系统普通模式,然后使得所述第一应用重新获取焦点。

在其中一个实施例中,所述系统为安卓系统,调用ActivityManager类中的switchUser()方法以从普通用户账号切换到管理员账号,从而使得系统从系统保护模式切换成系统普通模式。

本发明还提供一种应用程序调用装置,其包括:接收模块、第一判断模块、第二判断模块、切换模块、第一运行模块和第二运行模块;

所述接收模块用于接收第一应用调用第二应用的调用指令;

所述第一判断模块用于判断当前以管理员账户身份登录的系统普通模式下是否安装有第二应用,若有则使得所述第一运行模块根据所述调用指令在系统普通模式下运行所述第二应用,若无则使得所述第二判断模块判断以普通用户账户身份登录的系统保护模式下是否安装有第二应用;

若系统保护模式下安装有第二应用,则所述切换模块将系统从当前系统普通模式切换成系统保护模式;

所述第二运行模块用于根据所述调用指令在所述系统保护模式下运行所述第二应用;

其中,所述系统保护模式下配置有用于为预定应用的运行提供运行资源的安全空间,该安全空间在系统普通模式下不可访问。

在其中一个实施例中,所述第一判断模块包括:第一获取单元、第二获取单元和判断单元;

所述第一获取单元用于获取所述第一应用的身份信息;

所述第二获取单元用于获取已安装应用集合;

所述判断单元用于判断所述第一应用是否存在于所述已安装应用集合中。

在其中一个实施例中,所述身份信息包括包名或数字签名。

在其中一个实施例中,所述系统为安卓系统,所述第二获取单元通过getPackageManager()方法获取所述已安装应用集合。

在其中一个实施例中,所述切换模块用于:

判断所述第一应用是否具有调用安装于所述系统保护模式下的应用的权限,若有则将系统从当前系统普通模式切换成系统保护模式。

在其中一个实施例中,所述切换模块通过预设数据库判断所述第一应用是否具有调用安装于所述系统保护模式下的应用的权限,所述预设数据库存储有所述第一应用和能够被所述第一应用调用的应用的关系信息。

在其中一个实施例中,所述切换模块用于:

向用户发出是否允许所述第一应用调用安装于所述系统保护模式下的应用的询问信息;

接收用户输入的确认指令,将系统从当前系统普通模式切换成系统保护模式。

在其中一个实施例中,所述系统为安卓系统,所述切换模块调用ActivityManager类中的switchUser()方法以从管理员账号切换到普通用户账号,从而使得系统从当前系统普通模式切换成系统保护模式。

在其中一个实施例中,所述预定应用包括支付相关的应用、理财相关的应用和银行相关的应用中的至少其中一种。

在其中一个实施例中,所述运行资源包括该应用程序本身、该应用配置数据和该应用用户数据其中至少一种,所述安全空间包括存储空间。

在其中一个实施例中,所述运行资源包括运行保护策略,所述安全空间包括存储空间及其相应的运行保护策略配置环境。

在其中一个实施例中,对所述第二应用的调用结束后,所述切换模块将系统从系统保护模式切换成系统普通模式,然后使得所述第一应用重新获取焦点。

在其中一个实施例中,所述系统为安卓系统,所述切换模块调用ActivityManager类中的switchUser()方法以从普通用户账号切换到管理员账号,从而使得系统从系统保护模式切换成系统普通模式。

本发明还提供一种移动终端,其包括:

触敏显示器;

一个或多个处理器;

存储器;

一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行上述任一实施例所述的应用程序调用方法。

上述的应用程序调用方法、装置和移动终端,接收第一应用调用第二应用的调用指令;判断当前以管理员账户身份登录的系统普通模式下是否安装有第二应用,若有则根据所述调用指令在系统普通模式下运行所述第二应用,若无则继续判断以普通用户账户身份登录的系统保护模式下是否安装有第二应用;若系统保护模式下安装有第二应用,则将系统从当前系统普通模式切换成系统保护模式;根据所述调用指令在所述系统保护模式下运行所述第二应用;其中,所述系统保护模式下配置有用于为预定应用的运行提供运行资源的安全空间,该安全空间在系统普通模式下不可访问。当系统普通模式下的第一应用需要调用系统保护模式下的第二应用时,通过从系统普通模式切换成系统保护模式,则可以成功调用,使得应用无需重复安装,节约系统空间,提高了用户体验。

在本发明中,系统从系统普通模式进入系统保护模式,是通过系统的多用户模式实现的。即系统处于管理员账号登陆时为系统普通模式,系统处于普通用户账号登录时为系统保护模式,系统从系统普通模式进入系统保护模式即相当于系统从管理员模式切换到普通用户模式。由于多用户模式可以实现用户间一定的数据隔离,从而可以实现用户在系统保护模式下的操作安全,实现安全隔离。

本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1为一个实施例的应用程序调用方法流程图;

图2为一个实施例的应用程序调用装置示意图;

图3为一个实施例的第二获取模块示意图;

图4示出的是与本发明实施例提供的终端相关的手机的部分结构的框图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。

本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。

本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。

本技术领域技术人员可以理解,这里所使用的“终端”、“终端设备”既包括无线信号接收器的设备,其仅具备无发射能力的无线信号接收器的设备,又包括接收和发射硬件的设备,其具有能够在双向通信链路上,执行双向通信的接收和发射硬件的设备。这种设备可以包括:蜂窝或其他通信设备,其具有单线路显示器或多线路显示器或没有多线路显示器的蜂窝或其他通信设备;PCS(Personal Communications Service,个人通信系统),其可以组合语音、数据处理、传真和/或数据通信能力;PDA(Personal Digital Assistant,个人数字助理),其可以包括射频接收器、寻呼机、互联网/内联网访问、网络浏览器、记事本、日历和/或GPS(Global Positioning System,全球定位系统)接收器;常规膝上型和/或掌上型计算机或其他设备,其具有和/或包括射频接收器的常规膝上型和/或掌上型计算机或其他设备。这里所使用的“终端”、“终端设备”可以是便携式、可运输、安装在交通工具(航空、海运和/或陆地)中的,或者适合于和/或配置为在本地运行,和/或以分布形式,运行在地球和/或空间的任何其他位置运行。这里所使用的“终端”、“终端设备”还可以是通信终端、上网终端、音乐/视频播放终端,例如可以是PDA、MID(Mobile Internet Device,移动互联网设备)和/或具有音乐/视频播放功能的移动电话,也可以是智能电视、机顶盒等设备。

本技术领域技术人员可以理解,这里所使用的远端网络设备,其包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云。在此,云由基于云计算(Cloud Computing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。本发明的实施例中,远端网络设备、终端设备与WNS服务器之间可通过任何通信方式实现通信,包括但不限于,基于3GPP、LTE、WIMAX的移动通信、基于TCP/IP、UDP协议的计算机网络通信以及基于蓝牙、红外传输标准的近距无线传输方式。

在以下的描述中,系统是移动终端的操作系统,例如安卓系统、iOS移动操作系统等等。在以下的描述中,以安卓系统作为示例性说明。

图1为一个实施例的应用程序调用方法流程图。

本发明提供一种应用程序调用方法,包括如下步骤:

步骤S100:接收第一应用调用第二应用的调用指令。有些应用将会根据需要调用一些相关的应用,例如美团APP等电子商务应用通常需要调用如支付宝APP等支付类应用,或者需要调用银行类应用。

步骤S200:判断当前以管理员账户身份登录的系统普通模式下是否安装有第二应用,若有则根据该调用指令在系统普通模式下运行该第二应用,若无则继续判断以普通用户账户身份登录的系统保护模式下是否安装有第二应用。该系统保护模式下配置有用于为预定应用的运行提供运行资源的安全空间,该安全空间在系统普通模式下不可访问。

在系统保护模式下,预定应用将会通过运行保护策略进行严格的安全检测,一切有关资金的交易操作、支付操作都会受到严格监控,并且会严密保护用户的个人信息,防止例如聊天记录、短信验证码等等的用户信息泄露。其中,预定应用包括支付相关的应用(例如微信APP、支付宝APP)、理财相关的应用(例如陆金所APP)和银行相关的应用(例如工商银行APP)中的至少其中一种,以保护用户的资金安全和信息安全,当然预定应用还可以包括所有安装于系统保护模式下安全空间的应用。

这里该的运行资源,既可以是理解为该应用程序本身,也可以理解为该应用配置数据(应用程序的配置数据),还可以理解为该应用用户数据(用户的个人数据),在这些情况下,该的安全空间就可以理解为存储空间。当然,运行资源还可以理解为运行保护策略,该安全空间就可以理解为存储空间及其相应的运行保护策略配置环境,运行保护策略配置环境为:在运行该应用时启动杀毒、查杀木马等等安全保护措施的配置环境。

在传统的技术中,系统保护模式可以是以常规“沙箱”隔离技术实现。但是在本实施例中,是以多用户模式来实现的。安卓系统中支持多用户模式,与WINDOWS系统的多用户模式类似,不同用户登陆下的系统中的用户数据相互独立,相互间不受影响。因此,系统处于管理员账号登陆时为系统普通模式,系统处于普通用户账号登录时为系统保护模式,系统从系统普通模式进入系统保护模式即相当于系统从管理员模式切换到普通用户模式。由于多用户模式可以实现用户间一定的数据隔离,从而可以实现用户在保护模式下的系统安全(应用安装安全、交易安全、用户信息安全),实现安全隔离,在一定情况下比“沙箱”隔离技术更加安全。

通常美团APP、支付类应用、银行类应用都可以安装于同一系统模式下,例如安装于系统普通模式下。但是,由于美团APP这些应用由于安全级别没有支付类应用或银行类应用那么高,并且用户需要经常使用,所以通常安装于系统普通模式下,而支付类应用或银行类应用则通常安装于系统保护模式下。因而,就会存在安装于系统普通模式下的第一应用调用安装于系统保护模式下的第一应用的情况。因此,在多系统模式下,在发生调用时需要判断调用是否是同一模式内的调用,还是跨模式的调用。

系统判断当前以管理员账户身份登录的系统普通模式下是否安装有第二应用的过程可以包括:首先获取该第二应用的身份信息和获取(系统普通模式下的)已安装应用集合,然后判断该第二应用是否存在于该已安装应用集合中。该身份信息可以包括包名(Package Name)或数字签名(Digital Signature)。包名为应用的唯一标识,一个包名代表一个应用,主要用于系统识别应用,在安卓系统中不允许安装两个相同包名的应用。但是,由于包名容易被仿冒,因此通常用应用的数字签名作为识别应用的依据,或者将包名和数字签名一起作为识别应用的依据。

在安卓系统,可以通过getPackageManager()方法获取该已安装应用集合,例如通过getPackageManager().getInstalledApplications()方法获取系统安装的所有程序包的ApplicationInfo对象,从而可以进一步获取这些程序包的包名、名称等信息;或者通过getPackageManager().getInstalledPackages()方法获取系统安装的所有程序包的PackageInfo对象,从而可以进一步获取这些程序包的包名、名称等信息。

获取该第二应用的身份信息和获取已安装应用集合后,然后判断该第二应用是否存在于该已安装应用集合中,如果该第二应用存在于该已安装应用集合中,证明系统普通模式下安装有第二应用,则直接根据该调用指令在系统普通模式下运行该第二应用;反之,如果该第二应用不存在于该已安装应用集合中,证明系统普通模式下没有安装有第二应用,则继续判断以普通用户账户身份登录的系统保护模式下是否安装有第二应用,若有则执行步骤S300。

步骤S300:若系统保护模式下安装有第二应用,则将系统从当前系统普通模式切换成系统保护模式。该系统从普通模式切换到保护模式的过程相当于该系统从管理员账号切换到普通用户账号。在安卓系统中,通过调用ActivityManager类中的switchUser()方法以从管理员账号切换到普通用户账号。

然而,由于系统保护模式安全等级要比系统普通模式要高,所以要从系统普通模式切换到系统保护模式需要一定的权限或者得到用户授权。因此,在一些实施例中,该系统从当前系统普通模式切换成系统保护模式的过程可以包括:判断该第一应用是否具有调用安装于该系统保护模式下的应用的权限,若有则将系统从当前系统普通模式切换成系统保护模式。

系统可以预设有数据库,在该数据库中记录了能够访问系统保护模式的应用名单。或者更详细的,在该数据库中记录了一批应用名单,这些名单中的应用能够调用安装于系统保护模式下的应用。甚至可以更详细的,在该数据库中记录系统普通模式下的应用和能够被该应用调用的、系统保护模式下的应用的关系信息。例如,美团APP安装于系统普通模式,支付宝APP安装于系统保护模式,则在预设数据库中可以存储美团APP和支付宝APP的调用关系,此时则相当于赋予了美团APP调用支付宝APP的权限。因此,在一些实施例中,可以通过预设数据库判断该第一应用是否具有调用安装于该系统保护模式下的应用的权限,该预设数据库存储有该第一应用和能够被该第一应用调用的应用(包括第二应用)的关系信息。

而在另一些实施例中,则可以通过由用户来确认是否允许第一应用是否具有调用安装于该系统保护模式下的应用,即由用户临时赋予该第一应用调用权限。因此,将系统从当前系统普通模式切换成系统保护模式的过程也可以包括:向用户发出是否允许该第一应用调用安装于该系统保护模式下的应用的询问信息;接收用户输入的确认指令,将系统从当前系统普通模式切换成系统保护模式。继续以上述例子为例,当美团APP需要调用支付宝APP时,系统将会发出类似“是否允许美团调用系统保护模式下的支付宝?”的对话框,然后在用户选择“确定”选项时,将系统从当前系统普通模式切换成系统保护模式。如果接收到的是用户的否认指令,则拒绝系统从系统普通模式切换成系统保护模式,并可以向用户发出类似“调用支付宝失败”等失败提示信息。

系统从当前系统普通模式切换成系统保护模式后,执行步骤S400。

步骤S400:根据该调用指令在该系统保护模式下运行该第二应用。到了这一步,就可以成功调用到第二应用,使得应用无需重复安装,提高了用户体验。在安卓系统中,系统可以通过ACTIVITY MANAGER SERVICE(AMS)来启动第二应用的相关进程。

在对该第二应用的调用结束后,将系统从系统保护模式切换成系统普通模式,然后使得该第一应用重新获取焦点。在调用第二应用后,重新返回第一应用,可以提高用户体验。例如在美团APP上参与团购,通过调用支付宝APP付款后,重新返回第一应用,可以让用户查看相关的团购订单信息。而此时需要返回第一应用,则需要将系统从系统保护模式切换成系统普通模式,同理,可以通过调用ActivityManager类中的switchUser()方法以从普通用户账号切换到管理员账号,从而使得系统从系统保护模式切换成系统普通模式。

图2为一个实施例的应用程序调用装置示意图。

对应上述的应用程序调用方法,本发明还提供一种应用程序调用装置,其包括:接收模块100、第一判断模块200、第二判断模块300、切换模块400、第一运行模块500和第二运行模块600。

该接收模块100用于接收第一应用APP1调用第二应用APP2的调用指令。该第一判断模块200用于判断当前以管理员账户身份登录的系统普通模式下是否安装有第二应用APP2,若有则使得该第一运行模块500根据该调用指令在系统普通模式下运行该第二应用APP2,若无则使得该第二判断模块300判断以普通用户账户身份登录的系统保护模式下是否安装有第二应用APP2。其中,该系统保护模式下配置有用于为预定应用的运行提供运行资源的安全空间,该安全空间在系统普通模式下不可访问。若系统保护模式下安装有第二应用APP2,则该切换模块400将系统从当前系统普通模式切换成系统保护模式。该第二运行模块600用于根据该调用指令在该系统保护模式下运行该第二应用APP2。

接收模块100接收第一应用APP1调用第二应用APP2的调用指令。有些应用将会根据需要调用一些相关的应用,例如美团APP等电子商务应用通常需要调用如支付宝APP等支付类应用,或者需要调用银行类应用。

第一判断模块200判断当前以管理员账户身份登录的系统普通模式下是否安装有第二应用APP2,若有则第一运行模块500根据该调用指令在系统普通模式下运行该第二应用APP2,若无则第二判断模块300继续判断以普通用户账户身份登录的系统保护模式下是否安装有第二应用APP2。该系统保护模式下配置有用于为预定应用的运行提供运行资源的安全空间,该安全空间在系统普通模式下不可访问。

在系统保护模式下,预定应用将会通过运行保护策略进行严格的安全检测,一切有关资金的交易操作、支付操作都会受到严格监控,并且会严密保护用户的个人信息,防止例如聊天记录、短信验证码等等的用户信息泄露。其中,预定应用包括支付相关的应用(例如微信APP、支付宝APP)、理财相关的应用(例如陆金所APP)和银行相关的应用(例如工商银行APP)中的至少其中一种,以保护用户的资金安全和信息安全,当然预定应用还可以包括所有安装于系统保护模式下安全空间的应用。

这里该的运行资源,既可以是理解为该应用程序本身,也可以理解为该应用配置数据(应用程序的配置数据),还可以理解为该应用用户数据(用户的个人数据),在这些情况下,该的安全空间就可以理解为存储空间。当然,运行资源还可以理解为运行保护策略,该安全空间就可以理解为存储空间及其相应的运行保护策略配置环境,运行保护策略配置环境为:在运行该应用时启动杀毒、查杀木马等等安全保护措施的配置环境。

在传统的技术中,系统保护模式可以是以常规“沙箱”隔离技术实现。但是在本实施例中,是以多用户模式来实现的。安卓系统中支持多用户模式,与WINDOWS系统的多用户模式类似,不同用户登陆下的系统中的用户数据相互独立,相互间不受影响。因此,系统处于管理员账号登陆时为系统普通模式,系统处于普通用户账号登录时为系统保护模式,系统从系统普通模式进入系统保护模式即相当于系统从管理员模式切换到普通用户模式。由于多用户模式可以实现用户间一定的数据隔离,从而可以实现用户在保护模式下的系统安全(应用安装安全、交易安全、用户信息安全),实现安全隔离,在一定情况下比“沙箱”隔离技术更加安全。

通常美团APP、支付类应用、银行类应用都可以安装于同一系统模式下,例如安装于系统普通模式下。但是,由于美团APP这些应用由于安全级别没有支付类应用或银行类应用那么高,并且用户需要经常使用,所以通常安装于系统普通模式下,而支付类应用或银行类应用则通常安装于系统保护模式下。因而,就会存在安装于系统普通模式下的第一应用APP1调用安装于系统保护模式下的第一应用APP1的情况。因此,在多系统模式下,在发生调用时需要判断调用是否是同一模式内的调用,还是跨模式的调用。

图3为一个实施例的第二获取模块示意图。在一些实施例中,第一判断模块200包括第一获取单元210、第二获取单元220和判断单元230;第一判断模块200判断当前以管理员账户身份登录的系统普通模式下是否安装有第二应用APP2的过程可以包括:首先第一获取单元210获取该第二应用APP2的身份信息和第二获取单元220获取(系统普通模式下的)已安装应用集合,然后判断单元230判断该第二应用APP2是否存在于该已安装应用集合中。该身份信息可以包括包名(Package Name)或数字签名(Digital Signature)。包名为应用的唯一标识,一个包名代表一个应用,主要用于系统识别应用,在安卓系统中不允许安装两个相同包名的应用。但是,由于包名容易被仿冒,因此通常用应用的数字签名作为识别应用的依据,或者将包名和数字签名一起作为识别应用的依据。

第二获取单元220可以通过getPackageManager()方法获取该已安装应用集合,例如通过getPackageManager().getInstalledApplications()方法获取系统安装的所有程序包的ApplicationInfo对象,从而第二获取单元220可以进一步获取这些程序包的包名、名称等信息;或者第二获取单元220通过getPackageManager().getInstalledPackages()方法获取系统安装的所有程序包的PackageInfo对象,从而可以进一步获取这些程序包的包名、名称等信息。

第一获取单元210获取该第二应用APP2的身份信息和第二获取单元220获取已安装应用集合后,然后判断单元230判断该第二应用APP2是否存在于该已安装应用集合中,如果该第二应用APP2存在于该已安装应用集合中,证明系统普通模式下安装有第二应用APP2,则第一运行模块500直接根据该调用指令在系统普通模式下运行该第二应用APP2;反之,如果该第二应用APP2不存在于该已安装应用集合中,证明系统普通模式下没有安装有第二应用APP2,则第二判断模块300继续判断以普通用户账户身份登录的系统保护模式下是否安装有第二应用APP2,若有则由切换模块400将系统从当前系统普通模式切换成系统保护模式。该系统从普通模式切换到保护模式的过程相当于该系统从管理员账号切换到普通用户账号。在安卓系统中,切换模块400可以通过调用ActivityManager类中的switchUser()方法以从管理员账号切换到普通用户账号。

然而,由于系统保护模式安全等级要比系统普通模式要高,所以要从系统普通模式切换到系统保护模式需要一定的权限或者得到用户授权。因此,在一些实施例中,该切换模块400从当前系统普通模式切换成系统保护模式的过程可以包括:判断该第一应用APP1是否具有调用安装于该系统保护模式下的应用的权限,若有则将系统从当前系统普通模式切换成系统保护模式。

系统可以预设有数据库,在该数据库中记录了能够访问系统保护模式的应用名单。或者更详细的,在该数据库中记录了一批应用名单,这些名单中的应用能够调用安装于系统保护模式下的应用。甚至可以更详细的,在该数据库中记录系统普通模式下的应用和能够被该应用调用的、系统保护模式下的应用的关系信息。例如,美团APP安装于系统普通模式,支付宝APP安装于系统保护模式,则在预设数据库中可以存储美团APP和支付宝APP的调用关系,此时则相当于赋予了美团APP调用支付宝APP的权限。因此,在一些实施例中,切换模块400可以通过预设数据库判断该第一应用APP1是否具有调用安装于该系统保护模式下的应用的权限,该预设数据库存储有该第一应用APP1和能够被该第一应用APP1调用的应用(包括第二应用APP2)的关系信息。

而在另一些实施例中,则切换模块400可以通过由用户来确认是否允许第一应用APP1是否具有调用安装于该系统保护模式下的应用,即由用户临时赋予该第一应用APP1调用权限。因此,切换模块400将系统从当前系统普通模式切换成系统保护模式的过程也可以包括:向用户发出是否允许该第一应用APP1调用安装于该系统保护模式下的应用的询问信息;接收用户输入的确认指令,将系统从当前系统普通模式切换成系统保护模式。继续以上述例子为例,当美团APP需要调用支付宝APP时,系统将会发出类似“是否允许美团调用系统保护模式下的支付宝?”的对话框,然后在用户选择“确定”选项时,切换模块400将系统从当前系统普通模式切换成系统保护模式。如果接收到的是用户的否认指令,则切换模块400拒绝系统从系统普通模式切换成系统保护模式,并可以向用户发出类似“调用支付宝失败”等失败提示信息。

切换模块400将当前系统普通模式切换成系统保护模式后,第二运行模块600根据该调用指令在该系统保护模式下运行该第二应用APP2。到了这一步,系统就可以成功调用到第二应用APP2,使得应用无需重复安装,提高了用户体验。在安卓系统中,第二运行模块600可以通过ACTIVITY MANAGER SERVICE(AMS)来启动第二应用的相关进程。

系统在对该第二应用APP2的调用结束后,切换模块400将系统从系统保护模式切换成系统普通模式,然后使得该第一应用APP1重新获取焦点。在调用第二应用APP2后,系统重新返回第一应用APP1,可以提高用户体验。例如在美团APP上参与团购,通过调用支付宝APP付款后,重新返回第一应用APP1,可以让用户查看相关的团购订单信息。而此时需要返回第一应用APP1,则需要切换模块400将系统从系统保护模式切换成系统普通模式,同理,切换模块400可以通过调用ActivityManager类中的switchUser()方法以从普通用户账号切换到管理员账号,从而使得系统从系统保护模式切换成系统普通模式。

本发明实施例还提供了移动终端,如图4所示,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。该终端可以为包括手机、平板电脑、PDA(Personal Digital Assistant,个人数字助理)、POS(Point of Sales,销售终端)、车载电脑等任意终端设备,以终端为手机为例:

图4示出的是与本发明实施例提供的终端相关的手机的部分结构的框图。参考图4,手机包括:射频(Radio Frequency,RF)电路1510、存储器1520、输入单元1530、显示单元1540、传感器1550、音频电路1560、无线保真(wireless fidelity,Wi-Fi)模块1570、处理器1580、以及电源1590等部件。本领域技术人员可以理解,图4中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

下面结合图4对手机的各个构成部件进行具体的介绍:

RF电路1510可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器1580处理;另外,将设计上行的数据发送给基站。通常,RF电路1510包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low Noise Amplifier,LNA)、双工器等。此外,RF电路1510还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(Global System of Mobile communication,GSM)、通用分组无线服务(General Packet Radio Service,GPRS)、码分多址(Code Division Multiple Access,CDMA)、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、长期演进(Long Term Evolution,LTE)、电子邮件、短消息服务(Short Messaging Service,SMS)等。

存储器1520可用于存储软件程序以及模块,处理器1580通过运行存储在存储器1520的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器1520可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器1520可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

输入单元1530可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元1530可包括触控面板1531以及其他输入设备1532。触控面板1531,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板1531上或在触控面板1531附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板1531可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器1580,并能接收处理器1580发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板1531。除了触控面板1531,输入单元1530还可以包括其他输入设备1532。具体地,其他输入设备1532可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。

显示单元1540可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元1540可包括显示面板1541,可选的,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板1541。进一步的,触控面板1531可覆盖显示面板1541,当触控面板1531检测到在其上或附近的触摸操作后,传送给处理器1580以确定触摸事件的类型,随后处理器1580根据触摸事件的类型在显示面板1541上提供相应的视觉输出。虽然在图4中,触控面板1531与显示面板1541是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板1531与显示面板1541集成而实现手机的输入和输出功能。

手机还可包括至少一种传感器1550,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板1541的亮度,接近传感器可在手机移动到耳边时,关闭显示面板1541和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。

音频电路1560、扬声器1561,传声器1562可提供用户与手机之间的音频接口。音频电路1560可将接收到的音频数据转换后的电信号,传输到扬声器1561,由扬声器1561转换为声音信号输出;另一方面,传声器1562将收集的声音信号转换为电信号,由音频电路1560接收后转换为音频数据,再将音频数据输出处理器1580处理后,经RF电路1510以发送给比如另一手机,或者将音频数据输出至存储器1520以便进一步处理。

Wi-Fi属于短距离无线传输技术,手机通过Wi-Fi模块1570可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图4示出了Wi-Fi模块1570,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。

处理器1580是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器1520内的软件程序和/或模块,以及调用存储在存储器1520内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器1580可包括一个或多个处理单元;优选的,处理器1580可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1580中。

手机还包括给各个部件供电的电源1590(比如电池),优选的,电源可以通过电源管理系统与处理器1580逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。

尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。

在本发明实施例中,该终端所包括的处理器1580还具有以下功能:接收第一应用调用第二应用的调用指令;

判断当前以管理员账户身份登录的系统普通模式下是否安装有第二应用,若有则根据所述调用指令在系统普通模式下运行所述第二应用,若无则继续判断以普通用户账户身份登录的系统保护模式下是否安装有第二应用;若系统保护模式下安装有第二应用,则将系统从当前系统普通模式切换成系统保护模式;根据所述调用指令在所述系统保护模式下运行所述第二应用;其中,所述系统保护模式下配置有用于为预定应用的运行提供运行资源的安全空间,该安全空间在系统普通模式下不可访问。也即处理器1580具备执行上述的应用程序调用方法,在此不再赘述。

上述的应用程序调用方法、装置和移动终端,接收第一应用调用第二应用的调用指令;判断当前以管理员账户身份登录的系统普通模式下是否安装有第二应用,若有则根据该调用指令在系统普通模式下运行该第二应用,若无则继续判断以普通用户账户身份登录的系统保护模式下是否安装有第二应用;若系统保护模式下安装有第二应用,则将系统从当前系统普通模式切换成系统保护模式;根据该调用指令在该系统保护模式下运行该第二应用;其中,该系统保护模式下配置有用于为预定应用的运行提供运行资源的安全空间,该安全空间在系统普通模式下不可访问。当系统普通模式下的第一应用需要调用系统保护模式下的第二应用时,通过从系统普通模式切换成系统保护模式,则可以成功调用,使得应用无需重复安装,节约系统空间,提高了用户体验。

在本发明中,系统从系统普通模式进入系统保护模式,是通过系统的多用户模式实现的。即系统处于管理员账号登陆时为系统普通模式,系统处于普通用户账号登录时为系统保护模式,系统从系统普通模式进入系统保护模式即相当于系统从管理员模式切换到普通用户模式。由于多用户模式可以实现用户间一定的数据隔离,从而可以实现用户在系统保护模式下的操作安全,实现安全隔离。

本发明公开了如下方案:

A1、一种应用程序调用方法,包括如下步骤:

接收第一应用调用第二应用的调用指令;

判断当前以管理员账户身份登录的系统普通模式下是否安装有第二应用,若有则根据所述调用指令在系统普通模式下运行所述第二应用,若无则继续判断以普通用户账户身份登录的系统保护模式下是否安装有第二应用;

若系统保护模式下安装有第二应用,则将系统从当前系统普通模式切换成系统保护模式;

根据所述调用指令在所述系统保护模式下运行所述第二应用;

其中,所述系统保护模式下配置有用于为预定应用的运行提供运行资源的安全空间,该安全空间在系统普通模式下不可访问。

A2、根据A1所述的应用程序调用方法,所述判断当前以管理员账户身份登录的系统普通模式下是否安装有第二应用的过程包括:

获取所述第二应用的身份信息;

获取已安装应用集合;

判断所述第二应用是否存在于所述已安装应用集合中。

A3、根据A2所述的应用程序调用方法,所述身份信息包括包名或数字签名。

A4、根据A2所述的应用程序调用方法,所述系统为安卓系统,通过getPackageManager()方法获取所述已安装应用集合。

A5、根据A1所述的应用程序调用方法,所述将系统从当前系统普通模式切换成系统保护模式的过程包括:

判断所述第一应用是否具有调用安装于所述系统保护模式下的应用的权限,若有则将系统从当前系统普通模式切换成系统保护模式。

A6、根据A5所述的应用程序调用方法,通过预设数据库判断所述第一应用是否具有调用安装于所述系统保护模式下的应用的权限,所述预设数据库存储有所述第一应用和能够被所述第一应用调用的应用的关系信息。

A7、根据A1所述的应用程序调用方法,所述将系统从当前系统普通模式切换成系统保护模式的过程包括:

向用户发出是否允许所述第一应用调用安装于所述系统保护模式下的应用的询问信息;

接收用户输入的确认指令,将系统从当前系统普通模式切换成系统保护模式。

A8、根据A1所述的应用程序调用方法,所述系统为安卓系统,调用ActivityManager类中的switchUser()方法以从管理员账号切换到普通用户账号,从而使得系统从当前系统普通模式切换成系统保护模式。

A9、根据A1所述的应用程序调用方法,所述预定应用包括支付相关的应用、理财相关的应用和银行相关的应用中的至少其中一种。

A10、根据A1所述的应用程序调用方法,所述运行资源包括该应用程序本身、该应用配置数据和该应用用户数据其中至少一种,所述安全空间包括存储空间。

A11、根据A1所述的应用程序调用方法,所述运行资源包括运行保护策略,所述安全空间包括存储空间及其相应的运行保护策略配置环境。

A12、根据A1所述的应用程序调用方法,对所述第二应用的调用结束后,将系统从系统保护模式切换成系统普通模式,然后使得所述第一应用重新获取焦点。

A13、根据A12所述的应用程序调用方法,所述系统为安卓系统,调用ActivityManager类中的switchUser()方法以从普通用户账号切换到管理员账号,从而使得系统从系统保护模式切换成系统普通模式。

B14、一种应用程序调用装置,包括:接收模块、第一判断模块、第二判断模块、切换模块、第一运行模块和第二运行模块;

所述接收模块用于接收第一应用调用第二应用的调用指令;

所述第一判断模块用于判断当前以管理员账户身份登录的系统普通模式下是否安装有第二应用,若有则使得所述第一运行模块根据所述调用指令在系统普通模式下运行所述第二应用,若无则使得所述第二判断模块判断以普通用户账户身份登录的系统保护模式下是否安装有第二应用;

若系统保护模式下安装有第二应用,则所述切换模块将系统从当前系统普通模式切换成系统保护模式;

所述第二运行模块用于根据所述调用指令在所述系统保护模式下运行所述第二应用;

其中,所述系统保护模式下配置有用于为预定应用的运行提供运行资源的安全空间,该安全空间在系统普通模式下不可访问。

B15、根据B14所述的应用程序调用装置,所述第一判断模块包括:第一获取单元、第二获取单元和判断单元;

所述第一获取单元用于获取所述第一应用的身份信息;

所述第二获取单元用于获取已安装应用集合;

所述判断单元用于判断所述第一应用是否存在于所述已安装应用集合中。

B16、根据B15所述的应用程序调用装置,所述身份信息包括包名或数字签名。

B17、根据B15所述的应用程序调用装置,所述系统为安卓系统,所述第二获取单元通过getPackageManager()方法获取所述已安装应用集合。

B18、根据B14所述的应用程序调用装置,所述切换模块用于:

判断所述第一应用是否具有调用安装于所述系统保护模式下的应用的权限,若有则将系统从当前系统普通模式切换成系统保护模式。

B19、根据B18所述的应用程序调用装置,所述切换模块通过预设数据库判断所述第一应用是否具有调用安装于所述系统保护模式下的应用的权限,所述预设数据库存储有所述第一应用和能够被所述第一应用调用的应用的关系信息。

B20、根据B14所述的应用程序调用装置,所述切换模块用于:

向用户发出是否允许所述第一应用调用安装于所述系统保护模式下的应用的询问信息;

接收用户输入的确认指令,将系统从当前系统普通模式切换成系统保护模式。

B21、根据B14所述的应用程序调用装置,所述系统为安卓系统,所述切换模块调用ActivityManager类中的switchUser()方法以从管理员账号切换到普通用户账号,从而使得系统从当前系统普通模式切换成系统保护模式。

B22、根据B14所述的应用程序调用装置,所述预定应用包括支付相关的应用、理财相关的应用和银行相关的应用中的至少其中一种。

B23、根据B14所述的应用程序调用装置,所述运行资源包括该应用程序本身、该应用配置数据和该应用用户数据其中至少一种,所述安全空间包括存储空间。

B24、根据B14所述的应用程序调用装置,所述运行资源包括运行保护策略,所述安全空间包括存储空间及其相应的运行保护策略配置环境。

B25、根据B14所述的应用程序调用装置,对所述第二应用的调用结束后,所述切换模块将系统从系统保护模式切换成系统普通模式,然后使得所述第一应用重新获取焦点。

B26、根据B25所述的应用程序调用装置,所述系统为安卓系统,所述切换模块调用ActivityManager类中的switchUser()方法以从普通用户账号切换到管理员账号,从而使得系统从系统保护模式切换成系统普通模式。

C27、一种移动终端,其包括:

触敏显示器;

一个或多个处理器;

存储器;

一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行如A1至A13任一所述的应用程序调用方法。

应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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