终端设备控制方法及装置、终端设备及计算机可读存储介质与流程

文档序号:15462747发布日期:2018-09-18 18:33阅读:171来源:国知局

本发明涉及电子设备的控制领域,具体地,是在一种实现对终端设备进行控制方法以及实现这种方法的装置,还涉及一种实现上述方法的终端设备以及计算机可读存储介质。



背景技术:

智能手机、平板电脑等终端设备成为人们日常生活中最经常使用的电子设备,人们喜欢在智能电子设备上安装各种应用程序,并且在终端设备上同时运行大量的应用程序。由于应用程序运行时往往需要实现一定的功能,而实现这些功能时,往往需要使用其他的应用程序或者终端设备的其他硬件设备的信息,因此,应用程序在运行过程中往往需要申请一些的权限,也就是使用其他应用程序或者硬件设备的数据的权限。

例如,运行在终端设备上的地图应用程序在确定终端设备所在位置时,往往需要使用定位的权限,也就是使用终端设备上实现定位的硬件设备所提供的数据,例如使用GPS定位数据。又例如,视频聊天应用程序实现视频聊天时,需要使用摄像装置以及麦克风的数据,因此需要申请使用摄像装置以及麦克风数据的权限。

然而,应用程序使用这些权限时有可能涉及用户个人隐私,通常,应用程序在安装的时候即申明需要使用哪些权限,并且经过用户确认允许后,才使用这些权限。当然,应用程序的某些权限并不是必须的权限,而是实现特定的功能时候才使用的权限,使用这些权限时,往往需要提示用户,并且获得用户确认以后才获取这样的权限。

由于一部分应用程序获取的权限与应用程序所限的功能并不相关,并且获取这些权限可能影响用户的个人隐私,因此,用户往往禁止一部分应用程序使用某些权限。可见,针对应用程序的权限设置往往包括三种情况,即允许的权限、禁止的权限以及待确认的权限,其中待确认的权限是经过用户允许后才能使用的权限。

当前终端设备对权限的设定至少针对应用程序设定,并不对应用程序中的进程进行设定,由于目前一部分应用程序中的多个进程是相互独立运行的,如果仅仅对应用程序进行权限的设定,而不对应用程序中的各个进程分别进行权限设定,往往会导致用户个人隐私的泄露。

例如,用户打开网页浏览器以后,在网页浏览器上打开多个网页,此时,网页浏览器的应用程序中实际上运行有多个进程,且每一个网页对应于一个进程。此时,如果其中一个网页是地图导航网页,则该网页往往需要使用定位权限,因此,网页浏览器的应用程序申请使用定位权限时,用户通常允许网页浏览器使用该权限。然而,由于网页浏览器中存在其他的网页,即存在其他的进程,由于目前的权限设定仅仅针对网页浏览器的应用程序进行设定,一旦网页浏览器获得使用定位功能的权限,则网页浏览器中各个进程均获得该权限,导致网页浏览器中各个进程均可以使用定位的权限。

然而,网页浏览器应用程序中并不是每一个进程均需要使用定位功能,因此,目前终端设备的权限管理机制将导致应用程序中的一些进程会不适当的获取一些并不需要的权限,存在泄漏用户个人信息,设置隐私信息的风险。



技术实现要素:

本发明的第一目的是提供一种有限避免用户隐私信息泄露的终端设备控制方法。

本发明的第二目的是提供一种避免应用程序中的进程不适当获取权限的终端设备控制装置。

本发明的第三目的是提供一种能够实现上述终端设备控制方法的终端设备。

本发明的第四目的是提供一种被处理器读取并执行时能够实现上述终端设备控制方法的计算机可读存储介质。

为了实现上述的第一目的,本发明提供的终端设备控制方法包括:接收目标进程发出的权限请求指令,判断所请求的权限是否为预先确定权限;如所请求的权限不是预先确定权限,则获取目标进程对应的目标应用程序相应的权限设置信息,根据目标应用程序的相应权限设置信息和/或用户权限设置信息,确定目标进程的权限设置;其中,目标进程的权限不高于目标应用程序的相应权限;并且,目标应用程序的多个目标进程相互独立的被确定所获取的权限。

由上述方案可见,对于每一个进程所使用的权限,均由每一个进程单独提出,因此可以针对每一个进程设定其能够使用的权限,这样,即使运行在同一应用程序内的多个进程,所获得的权限并不会完全相同,且每一个进程所获得的权限都是相互独立的,这样就可以有效避免目标进程不适当获取权限的情况发生,进而有效保护用户的个人信息。

此外,由于目标进程的权限不高于应用程序对应的权限,也就是只有应用程序的相应权限是允许的,目标进程的权限是允许或者禁止,而应用程序的相应权限是禁止的,则目标进程的权限必然是禁止,这样可以避免目标进程获得的权限高于目标应用程序,从而避免目标进程不适当的获得高于目标应用程序的权限。

一个优选的方案是,根据目标应用程序的相应权限设置信息和/或用户权限设置信息,确定目标进程的权限设置包括:如目标应用程序的相应权限设置信息为预设允许权限,则确定目标进程的权限设置为允许权限或者待确定权限;如目标应用程序的相应权限设置信息为预设禁止权限,则确定目标进程的权限设置为禁止权限。

由此可见,在确定应用程序相应权限的设置信息以后,才确定目标进程的权限信息,可以确保目标进程的权限设定完全依据于目标应用程序的权限设定而设置,进而区别目标进程的权限不高于目标应用程序相应的权限。

进一步的方案是,确定目标进程的权限设置为待确定权限后,还执行:接收用户权限设置信息,根据用户权限设置信息确定目标进程的权限设置为允许权限或者禁止权限。

可见,根据用户输入的权限设置信息来确定目标进程的权限,也就是向用户发出提示信息,询问用户后获得所允许或者禁止的信息,从而确定所请求的权限设置。

进一步的方案是,如确定目标进程所请求的权限是预先确定权限,则进一步判断所请求的权限是否为目标应用程序设定的默认允许权限,如是,则确定目标进程的权限设置为允许权限;如目标进程所请求的权限为目标应用程序设定的默认禁止权限,则确定目标进程的权限设置为禁止权限。

可见,目标应用程序预先设置了目标进程的默认允许权限以及默认禁止权限,如果所请求的权限在默认允许权限或者默认禁止权限的列表之中,则直接根据默认的权限进行设置,从而快速的确定目标进程的权限。

更进一步的方案是,目标应用程序记录当前运行的进程,并赋予每一个当前运行的进程唯一的标识,并记录每一进程的预先确定权限信息,预先确定权限包括默认允许权限以及默认禁止权限。

由此可见,通过预先设定每一个目标进程的默认允许权限以及默认禁止权限,也就是设置了最常见的权限的允许或者禁止的设定,可以避免每次执行后续的询问或者判断过程,加快目标进程的权限确认过程。

更进一步的方案是,该方法还包括接收运行目标进程的指令;获取目标进程的配置文件,根据配置文件设定目标进程从目标应用程序获取数据的接口;在确定目标进程所请求的权限为允许的权限后,确定所请求的权限所对应的目标接口,并通过目标接口获取所请求权限所需的数据。

更进一步的,根据配置文件设定目标进程从目标应用程序获取数据的接口包括:从配置文件中获取若干组件,根据组件与终端设备的操作系统的原生控件的对应关系,获取组件对应的原生控件,基于原生控件设定目标进程的接口。并且,在确定目标进程所请求的权限为禁止的权限后,禁止目标进程使用该目标接口。

可见,目标进程可以根据用户发出的指令而启动运行的进程,优选的,目标进程可以是依据用户发出的指令后才下载配置文件并且通过应用程序解析配置文件后启动运行的进程,由于启动目标进程所需要下载的仅仅是一个配置文件,目标应用程序获取该配置文件以后,对配置文件进行解析并且获取接口的配置信息,并由此设置目标进程从目标应用程序获取数据的接口。

这样,目标进程的配置文件无需预先下载,只需要根据用户的指令下载即可,由于配置文件并不包含实现接口的具体函数体,仅仅提供设置接口所需要配置信息,因此配置文件的数据量很小,能够在极短时间内完成下载,用户点击运行目标进程以后,不需要等待即可以运行目标进程并且可以完成相应接口的配置。

本发明提供的终端设备的控制方法还可以是,接收修改目标应用程序中的目标进程的预先确定权限的请求指令;获取与目标进程所请求的权限相对应的目标应用程序相应的权限设置信息,根据目标应用程序的相应权限设置信息以及所接收的修改信息,确定目标进程修改后的预先确定权限,目标进程修改后的预先确定权限不高于目标应用程序的相应权限;其中,目标应用程序的多个目标进程相互独立的被确定所获取的权限。

优选的方案是,根据目标应用程序的相应权限设置信息以及所接收的修改信息,确定目标进程修改后的预先确定权限包括:如目标应用程序的相应权限设置信息为预设允许权限,则根据修改信息,确定目标进程修改后的预先确定权限为默认允许的权限或者默认禁止的权限;如目标应用程序的相应权限设置信息为预设禁止权限,则确定目标进程修改后的预先确定权限为默认禁止的权限。

可见,用户可以主动的修改目标进程的权限,即修改目标进程的预先确定权限,这样,用户可以根据实际使用需要主动设定每一个目标进程允许使用的权限或者禁止使用的权限,这样可以避免目标进程每次询问用户是否允许使用当前请求的权限。

为实现上述的第二目的,本发明提供的终端设备控制装置包括权限请求指令接收模块,用于接收目标进程发出的权限请求指令;预先确定权限判断模块,用于判断所请求的权限是否为预先确定权限;权限设置模块,用于在确定目标进程所请求的权限不是预先确定权限时,获取目标进程对应的目标应用程序相应的权限设置信息,根据目标应用程序的相应权限设置信息和/或用户权限设置信息,确定目标进程的权限设置;其中,目标进程的权限不高于目标应用程序的相应权限;并且,目标应用程序的多个目标进程相互独立的被确定所获取的权限。

优选的方案是,权限设置模块具体用于:如确定目标应用程序的相应权限设置信息为预设允许权限,则确定目标进程的权限设置为允许权限或者待确定权限;如确定目标应用程序的相应权限设置信息为预设禁止权限,则确定目标进程的权限设置为禁止权限。

为实现上述的第三目的,本发明提供的终端设备包括处理器,处理器用于执行存储器中存储的计算机程序时实现上述终端设备控制方法的各个步骤。

为实现上述的第四目的,本发明提供的计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述终端设备控制方法的各个步骤。

附图说明

图1是本发明终端设备控制方法实施例的流程图。

图2是本发明终端设备控制方法实施例中确定目标进程的权限设置方法的流程图。

图3是本发明终端设备控制方法另一个实施例的流程图。

图4是本发明终端设备控制装置实施例的结构框图。

图5是本发明终端设备控制装置另一个实施例的结构框图。

图6是本发明终端设备实施例的结构框图。

以下结合附图及实施例对本发明作进一步说明。

具体实施方式

本发明终端设备控制方法是应用在诸如智能手机或者平板电脑等终端设备上,用于实现应用程序中的目标进程的权限设定。本发明的终端设备控制装置运行在终端设备上,并且用于实现上述的终端设备控制方法。

由于目前终端设备对应用程序的权限控制都是针对应用程序的权限进行设定,也就是终端设备的操作系统给每一个应用程序设定了该应用程序允许使用的权限以及不允许使用的权限。本发明将终端设备给应用程序所设定的权限称为系统级权限,系统级权限包括该应用程序允许使用的权限以及禁止使用的权限。

但是目前终端设备并没有给应用程序的每一个进程赋予自身的权限,导致同一应用程序中多个进程的权限并不会完全分开。因此,本发明的主要构思是给应用程序中的进程设定自身的权限,从而实现应用程序中多个进程的权限相互分离、相互独立,避免应用程序中的进程不适当的获得某些权限。因此,本发明的实施例中,应用程序可以为该应用程序中的进程设置权限,该权限被称为应用级权限。可见,应用级权限与系统级权限不同的是,应用程序权限由应用程序为进程而设定,系统级权限是操作系统为应用程序而设定。

为了区分应用程序中的每一个进程,可以在应用程序的每一个进程启动以后,应用程序均给每一个进程赋予一个唯一的标识,例如,使用进程的进程号PID作为该标识,又或者使用进程的包名作为该进程的标识。

优选的,每一个进程启动以后,如果该进程需要获取某一种权限,则由该进程向所在的应用程序发出请求,由应用程序根据该进程的实际需要确定该进程是否能够被允许获得所请求的权限。为了确保进程不会不适当的获得权限,本实施例中,应用级权限不高于系统级权限,也就是某一应用程序中的进程所能够使用的权限都是该应用程序所获得的系统级权限,如果该应用程序没有获得相应的系统级权限,则目标应用程序下的进程是不能够获得这样的权限的。

例如,如果地图应用程序并没有获得使用摄像装置数据的权限,则地图应用程序中的任何一个进程都不可以获得使用摄像装置数据的权限,如果地图应用程序中任何进程请求使用摄像装置数据的权限,都被应用程序禁止。当然,并不是应用程序所获取系统级权限,应用程序中的进程必然获得对应的应用级权限。例如,地图应用程序获得使用定位功能的权限,也就是获得使用GPS定位数据的权限,但不意味着地图应用程序中的任何一个进程都能够允许使用GPS定位数据,只有特定的应用程序才能够允许使用GPS定位数据。

此外,由于现有的应用程序所实现的功能比较单一,并且现有的应用程序的安装包数据量非常大,导致应用程序的安装包下载时间较长,且安装时间也较长。通常,现有的应用程序的安装包是按照事先规定的格式编写而成,包括大量运行在终端设备操作系统上的控件,因此,现有的应用程序开发周期较长,且开发难度较大。

为此,一部分应用程序支持独立的进程的运行,例如允许由第三方开发的进程在应用程序上运行。为了避免第三方开发的进程运行时需要花费大量的时间进行下载数据包以及启动该进程,运行在应用程序上的第三方开发的进程可以通过下载配置文件的方式实现下载,并且在配置文件下载完毕以后,由应用程序对配置文件进行解析,并且运行该进程。例如,配置文件所包含的页面信息中,仅仅包括进程页面的基础设置信息,但不包括页面的渲染数据,对于进程所需要调用的接口,配置文件仅仅给出了该进程所需要调用的各种接口的名称与调用的规则,但不提供具体的调用接口的函数体。因此,进程的配置文件数据量很少,通常在1M以下,以确保配置文件可以在极短时间内完成下载。

在进程的配置文件下载完毕以后,应用程序对配置文件进行解析,例如解析获得该进程所需要调用的接口的配置信息,并且根据该配置信息实现接口的设置。正是由于进程的配置文件并不包含各种接口的实现程序,因此配置文件的数据量非常少,其下载速度非常快,可以在极短时间内完成配置文件的下载,应用程序也可以快速完成该进程的启动运行。

因此,用户打开应用程序以后,可以选择需要使用或者运行的进程,并且发出运行进程的指令,应用程序接收到运行目标进程的指令以后,发出下载目标进程的配置文件的请求指令,如向预设的服务器发送下载目标进程配置文件的信息,并从服务器接收目标进程的配置文件,应用程序接收到目标进程的配置文件以后对目标进程的配置文件进行解析,并且运行目标进程。由于目标进程的配置文件的下载与解析能够在极短时间内完成,因此用户发出运行目标进程的指令以后,不需要等待即可以开启目标进程。

由于现有的应用程序中不同进程的权限并不是完全独立的,这样导致一部分进程不适当获得某些权限,尤其是第三方开发的进程获得这些权限后,很可能会到用户的隐私造成影响,因此需要对应用程序中的进程的权限进行设定,以确保应用程序中的各个进程所获得的权限相互独立。

下面结合图1介绍本发明的终端设备控制方法。

首先,执行步骤S101,接收目标进程发出的权限请求指令。

应用程序启动以后,应用程序获取当前正在运行的多个进程的信息,包括获取每一个进程的进程号PID或者获取每一个进程的包名等,并且赋予每一个进程一个唯一的标识,如使用进程号PID或者进程的包名作为标识。当某一个进程需要请求使用某一个权限时,由该进程向应用程序发出使用该权限的请求。本实施例中,发出权限请求指令的进程为目标进程,而目标进程所在的应用程序为目标应用程序。

由于每一个进程所获得的权限都是相互独立的,因此,每一个目标进程需要获得权限时,都需要向目标应用程序发出请求指令,如网页浏览器应用程序中的某一个网页所对应的进程向网页浏览器发出请求使用GPS定位数据的权限。

因此,本实施例中,目标应用程序可以设置一个用于管理各个目标进程的权限的权限管理进程,权限管理进程用于记录每一个目标进程所允许获得的权限以及禁止的权限,并且可以接收目标进程发出的权限请求指令,对权限请求指令进行审核等。

步骤S102,判断目标进程所请求的权限是否为预先确定权限,如是,转入步骤S103,否则,转入步骤S106。

本实施例中,为了确保目标应用程序中每一个目标进程的顺畅运行,目标应用程序预先设置过了每一个目标进程均允许使用的权限,也为了避免目标进程不适当使用权限,目标应用程序也设定了每一个目标进程均不得使用的权限,这些预先设定的权限就是预先确定权限。本实施例中,预先确定权限包括默认允许权限以及默认禁止权限,每一个目标进程均有自己对应的默认允许权限以及默认禁止权限,因此,当目标进程发出权限请求指令以后,首先需要判断所请求的权限是否为预先确定权限。

例如,对于网页浏览器的应用程序而言,每一个进程都需要监听网络通断状态变化的广播信息,因此,为了避免每次目标进程请求监听网络通断状态变化的广播信息的权限时,都需要经过复杂的询问过程,可以直接将监听网络通断状态变化的广播信息的权限设置为每一个目标进程默认允许权限。

又例如,对于地图应用程序而言,并不需要使用摄像装置的数据,因此,地图应用程序可以设定任何进程获取摄像装置数据的权限都是禁止权限,也就是对于地图应用程序的任意进程而言,获取摄像装置数据的权限都是默认禁止权限。

由于应用程序为每一个目标进程均设定了预先确定权限,优选的,设定了每一个目标进程的预先确定权限列表,因此,步骤S102只需要确定目标进程所请求的权限是否为预先确定权限列表中的权限即可。

步骤S103,判断所请求的权限是否为默认允许权限,如是,执行步骤S104,否则,执行步骤S105。

在确定目标进程所请求的权限是预先确定权限,则执行步骤S103,进一步判断该预先确定权限是默认允许权限还是默认禁止权限。具体的,应用程序可以记录每一个目标进程的默认允许权限的列表以及默认禁止权限的列表,接收到目标进程发出的权限请求指令以后,从默认允许列表中查找是否存在与所请求的权限相匹配的权限,例如根据所请求的名称或者编号等,在默认允许权限列表中查找是否存在相匹配的权限。

步骤S104,确认所请求的权限为允许权限。

如果步骤S103确认目标进程所请求的权限是默认允许权限列表中所允许的权限,则直接确定目标进程当前所请求的权限是允许的权限,并且应用程序提供目标进程所需要的权限的接口,从而让目标进程直接获取相应的数据,例如获取GPS定位装置所提供的定位数据,或者获取摄像装置所提供的图像数据。

由于在确认目标进程所请求的权限是允许的权限以后,目标进程往往需要获取相应的数据,但是,本实施例中,目标进程并不会直接获取诸如GPS定位装置所发送的数据,而是通过目标应用程序来获取所需要的数据。因此,本实施例中,目标应用程序需要设置多个接口,并通过这些接口向目标进程发送所需要的数据。

因此,目标进程的配置文件中包含目标进程所需要设置的接口的信息,包括为了实现某一项功能所需要设置的接口的信息。这样,对配置文件进行解析的时候,目标应用程序需要获取需要配置的接口的信息,并且在目标进程启动运行时完成接口的配置。

步骤S104中,在确定目标进程所请求的权限为允许的权限后,确定所请求的权限所对应的目标接口,目标应用程序允许目标进程使用该接口,并且目标应用程序通过该目标接口将目标进程所请求的数据,如GPS装置的定位数据发送至目标进程。

步骤S105,确认所请求的权限为禁止权限。

如果步骤S103确认目标进程所请求的权限是默认禁止权限列表中所禁止的权限,则直接确定目标进程当前所请求的权限是禁止的权限,并且禁止目标进程使用目标接口。可见,不管目标进程所请求的权限是允许的权限还是禁止的权限,在对目标进程的配置文件进行解析的过程中,均配置目标接口,只是在确定目标进程禁止使用该权限时,禁止目标进程通过目标接口获取所需要的数据。

步骤S106,获取目标应用程序的相应的权限设置信息。

如果步骤S102中确认目标进程所请求的权限并不是预先确定权限,也就是目标应用程序并没有设定目标进程所请求的权限是默认允许还是默认禁止,则需要根据目标应用程序的相应权限的信息来确定目标进程所请求的权限是否被允许。

本实施例中,目标应用程序的相应权限是目标进程所请求的权限所对应的权限,例如,目标进程所请求的权限是获取定位信息的权限,则目标应用程序的相应权限是目标应用程序获取定位信息的权限,可以理解,目标应用程序的相应权限就是目标进程的应用级权限所对应的系统级权限。

因此,步骤S106中,目标应用程序接收到目标进程发送的请求某一个权限的指令以后,需要查找目标应用程序所对应的系统级权限的信息,即判断目标进程所请求的应用级权限对应的系统级权限的情况,是允许的权限还是禁止的权限。

步骤S107,根据目标应用程序相应权限设置信息和/或用户权限设置信息确定所请求的权限设置。

在获取目标应用程序相应权限设置信息以后,可以根据目标应用程序相应权限设置信息以及用户权限设置信息来确定目标进程所请求的权限是否为允许的权限或者是禁止的权限。本实施例中,用户权限设置信息是由用户确定允许或者禁止的信息,例如,在屏幕上显示一个提示窗口,由用户选择该权限是否被允许还是被禁止,接收到用户选择的允许或者禁止信息以后,即可以根据用户的选择确定所请求的权限是否被允许。

下面,结合图2详细介绍步骤S107如何根据目标应用程序相应权限设置信息以及用户权限设置信息来确定目标进程所请求的权限设置。首先,执行步骤S201,判断目标应用程序的相应权限是否为预设禁止权限,如是,执行步骤S202,否则,执行步骤S203。

由于在步骤S106中已经获取目标应用程序的相应权限设置信息,因此,步骤S201仅仅是判断目标应用程序的相应权限设置是允许还是禁止。本实施例中,终端设备的操作系统为目标应用程序预先设定了权限使用情况,即设定了应用程序的系统级权限,这些权限包括允许的权限以及禁止的权限,其中,允许的权限即为本实施例中的预设允许权限,而操作系统设定了目标应用程序禁止的权限即为预设禁止权限。可见,预设允许权限是操作系统对应用程序所预先设定的允许的权限,预设禁止权限是操作系统对应用程序所预先设定的禁止的权限。

步骤S202,确定所请求的权限为禁止的权限。

如果目标进程所请求的权限对应的目标应用程序相应权限设置为预设禁止权限,表示目标应用程序也不被允许获取该权限,则目标进程也不应当获得相应的权限,也就是确定目标进程所请求的权限为禁止的权限。在确定目标进程所请求的权限是禁止的权限以后,目标应用程序禁止目标进程提供相应的接口。

例如,地图应用程序中的一个目标进程请求获取摄像装置的数据,由于地图应用程序自身是不被允许使用摄像装置的数据,则该目标进程相应的也不被允许使用摄像装置的数据,因此,确定目标进行所请求的使用摄像装置的数据的权限为禁止的权限。可见,如果目标应用程序相应权限设置为预设禁止权限,则目标进程所请求的权限必然是被禁止的权限,从而确保目标进程所请求的权限不会超出目标应用程序所获得的权限范围。

步骤S203,接收用户权限设置信息。

如果步骤S202中,确认目标应用程序的相应权限设置不是预设禁止权限,则目标应用程序的相应权限设置可能是预设允许权限,也可能是预设待确定权限,不管是预设允许权限还是预设待确定权限,本实施例中,都是需要经过用户授权以后才能够获得。因此,步骤S203中,需要接收用户权限设置信息。例如,在终端设备的屏幕上显示一个提示窗口,该提示窗口中提示目标进程请求获取某一个权限,并且在提示窗口中显示“允许”以及“禁止”的虚拟按键,由用户进行选择。可见,步骤S203实际上是询问用户是否允许目标进程获取所请求的权限。

步骤S204,判断用户权限设置信息是否为允许权限,如是,执行步骤S205,否则,执行步骤S202。

在步骤S203中已经显示了提示窗口并且获取用户点击虚拟按键的数据,步骤S204则获取用户根据用户点击的虚拟按键的数据确定用户是否允许目标进程获取所请求的权限。

步骤S205,确定所请求的权限为允许的权限。

如果步骤S204中确定用户点击的虚拟按键是“允许”的虚拟按键,则可以确定用户允许目标进程获取当前请求的权限,此时,应用程序提供目标进程所需要的权限的接口,从而让目标进程直接获取相应的数据,例如获取GPS定位装置所提供的定位数据,或者获取摄像装置所提供的图像数据。

当然,步骤S204中,如果用户点击的虚拟按键是“禁止”的虚拟按键,则表示用户禁止目标进程获取所请求的权限,此时,应用程序并不会提供目标进程相应的接口,目标进程也就无法获取相应权限所需要的数据,也就是执行步骤S202。

可选的方案是,应用程序可以设定针对某些目标进程,在目标应用程序的相应权限设置为预设允许权限时,该目标进程的权限设置为允许的权限,而不需要经过询问用户后确定该权限为允许权限还是禁止权限,这样可以提高目标进程获取权限的效率。

可见,即使目标应用程序相应权限设置是允许的权限,也就是目标应用程序允许使用某一项权限,并不意味着目标进程必然获得该权限,而是还需要经过用户确认以后才能够获得使用该权限,从而确保每一个目标进程的权限是单独授予并且单独使用的。因此,如果目标应用程序的相应权限是预设允许权限,则需要根据用户输入的用户权限设置信息来确定目标进程所请求的权限,也就是需要应用目标应用程序的相应权限设置以及用户权限设置信息来确定目标进程的权限。可以理解,如果目标应用程序的相应权限是待确认的权限,则需要向用户提示,由用户确认是否允许目标应用程序获取该项权限,并且在确认目标应用程序允许获取该项权限以后,再次询问用户是否允许目标进程获取该项权限,并且根据用户权限设置信息确定目标进程是否允许获取该权限。也就是,在目标应用程序相应权限为待确认的情况下,是需要通过两次询问用户的方式确定目标进程是否允许获取所请求的权限,这种情况下,是仅依据用户权限设置信息来确定目标进程的权限设置。

由于本实施例中设定了目标进程的预先确定权限,随着目标应用程序功能的不断完善,目标进程的预先确定权限也应该随之发生变化。然而,如果目标应用程序没有及时更新目标进程的预先确定权限,将导致目标进程无法及时获取所需要的权限,或者目标进程仍然继续获取某些权限而导致用户个人隐私的泄露。因此,本发明的另一实施例提供一种终端设备的控制方法,以便于让用户根据实际需要调节目标进程的预先确定权限。

参见图3,首先执行步骤S301,接收修改目标进程预先确定权限的请求指令。

例如,用户在应用程序的页面上点击“设置”按键,并且选择需要修改预先确定权限的目标进程,然后选择需要修改的权限名称,然后发出修改该目标进程的当前选择的权限的预先确定权限的指令,例如点击“修改权限”的指令,或者在屏幕上滑动形成预设轨迹的图案,又或者点击预设的按键等。

步骤S302,获取目标应用程序的相应权限设置信息。

由于本实施例需要根据目标应用程序的相应权限的信息来确定目标进程所请求修改预先确定权限,因此,步骤S302需要获取目标应用程序的相应权限的信息。

目标应用程序的相应权限是目标进程所请求的权限所对应的权限,例如,目标进程所请求的权限是获取定位信息的权限,则目标应用程序的相应权限是目标应用程序获取定位信息的权限,可以理解,目标应用程序的相应权限就是目标进程的应用级权限所对应的系统级权限。

步骤S303,判断目标应用程序的相应权限是否为禁止的权限,如是,转入步骤S304,否则,转入步骤S305。

在步骤S302获取目标应用程序的相应权限信息以后,步骤S303判断该相应的权限是否为禁止的权限。由于应用程序的相应权限只有允许、禁止以及待确认确定三种情况,因此,可以快速的确定目标应用程序相应的权限是否为禁止的权限。

步骤S304,确定目标进程的该权限为默认禁止权限。

如果步骤S303确定目标应用程序的相应权限是禁止的权限,则确定所请求修改后的权限为默认禁止权限,并且记录该目标进程的该权限的信息,在目标进程请求使用该权限时,目标应用程序将默认禁止目标进程使用该权限。

步骤S305,获取目标进程的预先确定权限修改信息。

用户进入目标进程的预先确定权限修改页面以后,可以对目标进程的权限进行修改,例如,目标进程的某一项权限初始状态是默认允许权限,用户可以发出将该权限修改为默认禁止权限,或者将原先是默认禁止权限修改为默认允许权限。步骤S305是接收用户发出的修改目标进程预先确定权限的信息,即接收目标进程修改后的权限是默认允许权限还是默认禁止权限的信息。

步骤S306,判断用户发出的修改信息是否将所请求的权限修改为默认允许权限,如是,执行步骤S307,否则,执行步骤S304。

步骤S305获取用户发出的修改预先确定权限的信息以后,判断修改后的权限是为默认允许权限,如判断用户点击的虚拟按键是否为“允许”的按键。

步骤S307,确定目标进程的该权限为默认允许权限。

如果步骤S306确定用户对目标进程所请求的权限修改后的信息是允许目标进程默认使用该权限,则确定所请求的权限为默认允许权限,并且记录该目标进程的该权限的信息,在目标进程请求使用该权限时,目标应用程序将默认允许目标进程使用该权限。

当然,如果步骤S306确定用户对目标进程所请求的权限修改后的信息是禁止目标进程使用该权限,则确定所请求的权限为默认禁止权限,并且记录该目标进程的该权限的信息,在目标进程请求使用该权限时,目标应用程序将默认禁止目标进程使用该权限。

可见,本发明设定了目标应用程序的目标进程所能够使用的权限,并且确保每一个目标进程能够单独使用权限,如通过进程号或者进程的包名等区分每一个目标进程,确保不同的目标进程之间不会相互使用对方的权限。这样,即使某一个目标进程获得了某一项权限,也不会导致其他的进程在不经过授权的情况下获得相同的权限,确保用户的个人信息,尤其是隐私信息不会被泄露。

并且,本发明对目标进程的权限的控制并不是针对第三方程序启动的进程的权限进行控制,本发明对应用程序的各个进程的权限控制不因第三方程序的运行而单独执行。

另外,用户对目标进程的预先确定权限进行修改时,也需要确保目标进程修改后的预先确定权限不高于目标应用程序的相应权限设置,也就是在目标应用程序的相应权限为允许时,目标进程的权限可能是允许,也可能是禁止,但如果目标应用程序的相应权限为禁止时,目标进程的权限只能是禁止。这样,可以确保修改后的目标进程的权限不会超越目标应用程序的相应权限。

本发明还提供一种终端设备的控制装置,参见图4,终端设备的控制装置包括权限请求指令接收模块401、预先确定权限判断模块402以及权限设置模块403,其中,权限设置模块包括目标应用程序权限获取模块404以及用户权限设置权限信息获取模块405。

权限请求指令接收模块401用于接收目标应用程序的目标进程发出的权限请求指令,例如接收目标进程发出的请求使用某一项权限的指令。

预先确定权限判断模块402用于判断目标进程所请求的权限是否为预先确定权限,本实施例中,由于目标应用程序预先设定了一些目标进程可以默认允许获取的权限或者默认禁止的权限,这些默认允许权限与默认禁止权限都是预先确定的权限,因此,预先确定权限判断模块402判断目标进程所请求的权限是否为预先确定的权限,如果是预先确定的权限,则根据预先确定的权限确定目标进程所请求的权限设置。

例如,如果目标进程所请求的权限是默认允许的权限,则可以确定所请求的权限是允许的权限,如果目标进程所请求的权限是默认禁止的权限,则可以确定所请求的权限是禁止的权限。

权限设置模块403用于在确定目标进程所请求的权限不是预先确定权限时,获取目标进程对应的目标应用程序相应的权限设置信息,根据目标应用程序的相应权限设置信息和/或用户权限设置信息,确定目标进程的权限设置,并且,需要确定目标进程的权限不高于目标应用程序的相应权限。

具体的,如确定目标应用程序的相应权限设置信息为预设允许权限,则确定目标进程的权限设置为允许权限或者待确定权限;如确定目标应用程序的相应权限设置信息为预设禁止权限,则确定目标进程的权限设置为禁止权限。

因此,本实施例中,目标进程的应用级权限不能超出目标应用程序所获得的系统级权限,且目标应用程序的相应系统级权限为禁止权限,则目标进程的应用级权限一定是禁止的权限,但目标应用程序的相应系统级权限为允许的权限,目标进程也未必一定是允许的权限,需要经过用户授权后才能够使用。

因此,目标应用程序权限获取模块404需要获取目标应用程序对应的系统级权限的设置信息,例如目标进程请求的权限对应的系统级权限是预设允许权限还是预设禁止权限。同时,由于需要结合用户权限设置信息来确定目标进程的权限,因此,用户权限设置信息获取模块405用于获取用户输入的权限设置信息,即允许还是禁止目标进程所请求的权限。

本发明的终端设备控制装置另一种实施方式如图5实施,该装置包括预先确定权限修改请求模块501、目标应用程序权限获取模块502、修改信息获取模块503以及预先确定权限修改模块504。

预先确定权限修改请求模块501用于接收用户发出的修改目标进程预先确定权限的请求指令,例如点击应用程序页面上的“设置”按键并且选择需要修改预先设定的目标进程,同时,用户还可以选择需要修改的权限的名称,如获取定位数据的权限。

目标应用程序权限获取模块502用于获取用户希望修改的目标进程的权限所对应的目标应用程序的相应权限信息,例如,用户希望修改目标进程关于定位数据获取的权限,则目标应用程序权限获取模块502需要获取目标应用程序关于定位数据获取的权限设置信息。

修改信息获取模块503用于获取用户发出的修改目标进程的权限的信息,即获取用户希望修改后的目标进程的权限,是将预先确定的权限修改为允许还是禁止。

预先确定权限修改模块504用于对目标进程的预先确定权限进行修改,例如将预先确定的默认允许权限修改为默认禁止权限,或者将默认禁止权限修改为默认允许权限,从而可以让用户自行设定每一个目标进程的预先确定权限,满足不同应用程序所实现的功能的变化。

本发明实施例还提供了一种终端设备,如图6所示,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。该终端设备可以为包括手机、平板电脑、个人数字助理(英文全称:Personal Digital Assistant,英文缩写:PDA)等任意终端设备。

参考图6,终端设备包括有处理器601、存储器602、电源603以及存储在存储器中并可在处理器上运行的计算机程序。其中,处理器601执行计算机程序时实现上述各个信息处理方法实施例中的步骤,例如图1所示的步骤S101至S107等。或者,处理器执行计算机程序时实现上述各装置实施例中各模块或单元的功能。

示例性的,计算机程序可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器中,并由处理器执行,以完成本发明。上述的一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序在终端设备中的执行过程。

本领域技术人员可以理解,图6中示出的结构并不构成对终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置,例如上述的终端设备还可以包括输入输出设备、网络接入设备、总线等。

所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器 (Digital Signal Processor,DSP)、专用集成电路 (Application Specific Integrated Circuit,ASIC)、现成可编程门阵列 (Field-Programmable Gate Array,FPGA) 或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,处理器是终端设备的控制中心,利用各种接口和线路连接整个终端设备的各个部分。

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

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

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

当然,上述的方案只是本发明优选的实施方案,实际应用是还可以有更多的变化,例如,目标进程的预先确定权限的修改方式改变、目标应用程序权限的获取方式的改变,这样的改变并不影响本发明的实施,也应该包括在本发明的保护范围内。

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