CN113296657B - 安卓系统的危险权限管理方法、装置、设备及存储介质 - Google Patents

安卓系统的危险权限管理方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN113296657B
CN113296657B CN202110737172.7A CN202110737172A CN113296657B CN 113296657 B CN113296657 B CN 113296657B CN 202110737172 A CN202110737172 A CN 202110737172A CN 113296657 B CN113296657 B CN 113296657B
Authority
CN
China
Prior art keywords
authority
dangerous
array
authorization
identifier
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
CN202110737172.7A
Other languages
English (en)
Other versions
CN113296657A (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.)
Ping An Life Insurance Company of China Ltd
Original Assignee
Ping An Life Insurance Company of China 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 Ping An Life Insurance Company of China Ltd filed Critical Ping An Life Insurance Company of China Ltd
Priority to CN202110737172.7A priority Critical patent/CN113296657B/zh
Publication of CN113296657A publication Critical patent/CN113296657A/zh
Application granted granted Critical
Publication of CN113296657B publication Critical patent/CN113296657B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • 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/451Execution arrangements for user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

本申请涉及客户端技术领域,揭示了一种安卓系统的危险权限管理方法、装置、设备及存储介质,其中方法包括:调用危险权限管理类,监听危险权限使用请求,根据危险权限授权列表和目标应用标识对目标危险权限数组标识集合确定授权判断结果,分别根据授权判断结果为已授权的每个危险权限数组标识确定第一返回结果集合,根据预设弹窗规则、目标应用标识、授权判断结果为未授权的各个危险权限数组标识得到目标弹窗,根据目标弹窗获取用户授权数据集合,分别根据用户授权数据为已授权的每个危险权限数组标识得到第二返回结果集合,分别根据用户授权数据为未授权的每个危险权限数组标识得到第三返回结果集合。提高了开发效率,有利于代码维护。

Description

安卓系统的危险权限管理方法、装置、设备及存储介质
技术领域
本申请涉及到客户端技术领域,特别是涉及到一种安卓系统的危险权限管理方法、装置、设备及存储介质。
背景技术
安卓系统是一个权限分隔的操作系统,每个应用都有独特的系统标识。一般情况下,应用没有权限执行对其它应用、系统、用户可能有不利影响的操作。每个应用都在应用沙盒中运行,因此当应用需要使用沙盒未提供的功能时,需要申请权限,比如读写SD卡(闪存卡)、访问网络、访问其它应用的数据、读写联系人、调用摄像头等。
在安卓系统6.0以前,有的应用一般声明了各种各样的权限,用户可能没有细看就安装了。安卓系统6.0以后把权限分成正常权限和危险权限,安卓系统的Manifest.xml(安卓系统的配置文件)中声明的正常权限安卓系统会自动授予应用,而危险权限则需要在使用的时候用户明确授予。
基础上述的问题,当开发应用的某个功能需要用到某个系统的危险权限时,应用开发人员每次都要从应用的代码层面添加额外调用操作系统的接口来申请危险权限,降低了开发效率,而且不利于代码维护。
发明内容
本申请的主要目的为提供一种安卓系统的危险权限管理方法、装置、设备及存储介质,旨在解决现有技术的安卓系统把权限分成正常权限和危险权限,导致应用开发人员每次都要从应用的代码层面添加额外调用操作系统的接口来申请危险权限,降低了开发效率,不利于代码维护的技术问题。
为了实现上述发明目的,本申请提出一种安卓系统的危险权限管理方法,所述方法包括:
调用危险权限管理类,监听危险权限使用请求,所述危险权限使用请求携带有目标应用标识和目标危险权限数组标识集合,其中,所述危险权限管理类是基于安卓系统的界面类得到的类;
调用所述危险权限管理类,获取危险权限授权列表,根据所述危险权限授权列表和所述目标应用标识,分别对所述目标危险权限数组标识集合中的每个危险权限数组标识进行授权判断,得到多个授权判断结果;
当存在所述授权判断结果为已授权时,调用所述危险权限管理类,分别根据所述授权判断结果为已授权的每个所述危险权限数组标识进行返回结果生成,得到第一返回结果集合;
当存在所述授权判断结果为未授权时,调用所述危险权限管理类,获取预设弹窗规则,根据所述预设弹窗规则、所述目标应用标识、所述授权判断结果为未授权的各个所述危险权限数组标识进行弹窗,得到目标弹窗;
调用所述危险权限管理类,根据所述目标弹窗获取用户授权数据集合;
当所述用户授权数据集合中存在用户授权数据为已授权时,调用所述危险权限管理类,分别根据所述用户授权数据为已授权的每个所述危险权限数组标识进行返回结果生成,得到第二返回结果集合;
当所述用户授权数据集合中存在所述用户授权数据为未授权时,调用所述危险权限管理类,分别根据所述用户授权数据为未授权的每个所述危险权限数组标识进行返回结果生成,得到第三返回结果集合。
进一步的,所述调用危险权限管理类,监听危险权限使用请求的步骤之前,包括:
获取管理类自定义请求;
响应所述管理类自定义请求,创建安卓系统的类,作为初始管理类;
采用所述初始管理类,继承所述安卓系统的所述界面类,得到待重写的管理类;
根据所述待重写的管理类,获取监听程序语句、授权判断程序语句和弹窗处理程序语句;
根据所述监听程序语句、所述授权判断程序语句和所述弹窗处理程序语句,对所述待重写的管理类进行更新,得到所述危险权限管理类。
进一步的,所述调用危险权限管理类,监听危险权限使用请求的步骤之前,还包括:
获取危险权限数组管理请求;
响应所述危险权限数组管理请求,获取危险权限数组更新数据和待更新的危险权限数组标识;
调用权限数组管理类,获取危险权限数组管理列表,根据所述危险权限数组更新数据,对所述危险权限数组管理列表中的所述待更新的危险权限数组标识对应的危险权限标识集合进行更新,其中,所述权限数组管理类是基于所述安卓系统的变量管理类得到的类。
进一步的,所述根据所述危险权限数组更新数据,对所述危险权限数组管理列表中的所述待更新的危险权限数组标识对应的危险权限标识集合进行更新的步骤,包括:
调用所述权限数组管理类,将所述待更新的危险权限数组标识在所述危险权限数组管理列表中进行查找,将在所述危险权限数组管理列表中查找到的危险权限数组标识对应的所述危险权限标识集合作为待更新的危险权限标识集合;
调用所述权限数组管理类,根据所述危险权限数组更新数据,对所述待更新的危险权限标识集合进行更新。
进一步的,所述根据所述危险权限授权列表和所述目标应用标识,分别对所述目标危险权限数组标识集合中的每个危险权限数组标识进行授权判断,得到多个授权判断结果的步骤,包括:
将所述目标应用标识在所述危险权限授权列表中进行查找,得到授权查找结果;
当所述授权查找结果为失败时,确定所述目标危险权限数组标识集合中的每个所述危险权限数组标识对应的所述授权判断结果为未授权;
当所述授权查找结果为成功时,将在所述危险权限授权列表中查找到的应用标识对应的危险权限数组标识集合作为待处理的危险权限数组标识集合;
从所述目标危险权限数组标识集合中获取一个所述危险权限数组标识作为待判断的危险权限数组标识;
将所述待判断的危险权限数组标识从所述待处理的危险权限数组标识集合中进行查找,当查找成功时,确定所述待判断的危险权限数组标识对应的所述授权判断结果为已授权,否则,确定所述待判断的危险权限数组标识对应的所述授权判断结果为未授权;
重复执行所述从所述目标危险权限数组标识集合中获取一个所述危险权限数组标识作为待判断的危险权限数组标识的步骤,直至完成所述目标危险权限数组标识集合中的所述危险权限数组标识的提取。
进一步的,所述根据所述预设弹窗规则、所述目标应用标识、所述授权判断结果为未授权的各个所述危险权限数组标识进行弹窗,得到目标弹窗的步骤,包括:
获取危险权限永久拒绝列表;
将所述目标应用标识在所述危险权限永久拒绝列表中进行查找,得到永久拒绝权限查找结果;
当所述永久拒绝权限查找结果为失败时,根据所述授权判断结果为未授权的各个所述危险权限数组标识进行授权弹窗的展示,得到所述目标弹窗;
当所述永久拒绝权限查找结果为成功时,将在所述危险权限永久拒绝列表中查找到的应用标识对应的危险权限数组标识集合作为永久拒绝危险权限数组标识集合;
分别将所述授权判断结果为未授权的每个所述危险权限数组标识,在所述永久拒绝危险权限数组标识集合中进行查找,得到多个永久拒绝匹配结果;
当存在所述永久拒绝匹配结果为成功时,根据所述永久拒绝匹配结果为成功的各个所述危险权限数组标识进行提示系统设置界面手动授权的弹窗的展示,得到所述目标弹窗;
当存在所述永久拒绝匹配结果为失败时,根据所述永久拒绝匹配结果为失败的各个所述危险权限数组标识进行授权弹窗的展示,得到所述目标弹窗。
进一步的,所述根据所述预设弹窗规则、所述目标应用标识、所述授权判断结果为未授权的各个所述危险权限数组标识进行弹窗,得到目标弹窗的步骤,还包括:
调用所述危险权限管理类的弹窗处理单元,获取预设弹窗规则和所述危险权限使用请求携带的样式配置数据,根据所述样式配置数据、所述预设弹窗规则和所述目标应用标识,根据所述授权判断结果为未授权的各个所述危险权限数组标识进行弹窗,得到所述目标弹窗。
本申请还提出了一种安卓系统的危险权限管理装置,所述装置包括:
请求获取模块,用于调用危险权限管理类,监听危险权限使用请求,所述危险权限使用请求携带有目标应用标识和目标危险权限数组标识集合,其中,所述危险权限管理类是基于安卓系统的界面类得到的类;
授权判断结果确定模块,用于调用所述危险权限管理类,获取危险权限授权列表,根据所述危险权限授权列表和所述目标应用标识,分别对所述目标危险权限数组标识集合中的每个危险权限数组标识进行授权判断,得到多个授权判断结果;
第一返回结果集合确定模块,用于当存在所述授权判断结果为已授权时,调用所述危险权限管理类,分别根据所述授权判断结果为已授权的每个所述危险权限数组标识进行返回结果生成,得到第一返回结果集合;
目标弹窗确定模块,用于当存在所述授权判断结果为未授权时,调用所述危险权限管理类,获取预设弹窗规则,根据所述预设弹窗规则、所述目标应用标识、所述授权判断结果为未授权的各个所述危险权限数组标识进行弹窗,得到目标弹窗;
用户授权数据集合确定模块,用于调用所述危险权限管理类,根据所述目标弹窗获取用户授权数据集合;
第二返回结果集合确定模块,用于当所述用户授权数据集合中存在用户授权数据为已授权时,调用所述危险权限管理类,分别根据所述用户授权数据为已授权的每个所述危险权限数组标识进行返回结果生成,得到第二返回结果集合;
第三返回结果集合确定模块,用于当所述用户授权数据集合中存在所述用户授权数据为未授权时,调用所述危险权限管理类,分别根据所述用户授权数据为未授权的每个所述危险权限数组标识进行返回结果生成,得到第三返回结果集合。
本申请还提出了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。
本申请还提出了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。
本申请的安卓系统的危险权限管理方法、装置、设备及存储介质,通过调用危险权限管理类,监听危险权限使用请求,危险权限使用请求携带有目标应用标识和目标危险权限数组标识集合,根据危险权限授权列表和目标应用标识,分别对目标危险权限数组标识集合中的每个危险权限数组标识进行授权判断,得到多个授权判断结果,当存在授权判断结果为已授权时,分别根据授权判断结果为已授权的每个危险权限数组标识进行返回结果生成,得到第一返回结果集合,当存在授权判断结果为未授权时,获取预设弹窗规则,根据预设弹窗规则、目标应用标识、授权判断结果为未授权的各个危险权限数组标识进行弹窗,得到目标弹窗,根据目标弹窗获取用户授权数据集合,当用户授权数据集合中存在用户授权数据为已授权时,分别根据用户授权数据为已授权的每个危险权限数组标识进行返回结果生成,得到第二返回结果集合,当用户授权数据集合中存在用户授权数据为未授权时,分别根据用户授权数据为未授权的每个危险权限数组标识进行返回结果生成,得到第三返回结果集合,从而使应用开发人员不需要从应用的代码层面添加额外调用操作系统的接口来申请危险权限,应用开发人员也无需关心危险权限授权的交互问题,提高了应用开发的开发效率,有利于应用的代码维护。
附图说明
图1为本申请一实施例的安卓系统的危险权限管理方法的流程示意图;
图2为本申请一实施例的安卓系统的危险权限管理装置的结构示意框图;
图3为本申请一实施例的计算机设备的结构示意框图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
参照图1,本申请实施例中提供一种安卓系统的危险权限管理方法,所述方法包括:
S1:调用危险权限管理类,监听危险权限使用请求,所述危险权限使用请求携带有目标应用标识和目标危险权限数组标识集合,其中,所述危险权限管理类是基于安卓系统的界面类得到的类;
S2:调用所述危险权限管理类,获取危险权限授权列表,根据所述危险权限授权列表和所述目标应用标识,分别对所述目标危险权限数组标识集合中的每个危险权限数组标识进行授权判断,得到多个授权判断结果;
S3:当存在所述授权判断结果为已授权时,调用所述危险权限管理类,分别根据所述授权判断结果为已授权的每个所述危险权限数组标识进行返回结果生成,得到第一返回结果集合;
S4:当存在所述授权判断结果为未授权时,调用所述危险权限管理类,获取预设弹窗规则,根据所述预设弹窗规则、所述目标应用标识、所述授权判断结果为未授权的各个所述危险权限数组标识进行弹窗,得到目标弹窗;
S5:调用所述危险权限管理类,根据所述目标弹窗获取用户授权数据集合;
S6:当所述用户授权数据集合中存在用户授权数据为已授权时,调用所述危险权限管理类,分别根据所述用户授权数据为已授权的每个所述危险权限数组标识进行返回结果生成,得到第二返回结果集合;
S7:当所述用户授权数据集合中存在所述用户授权数据为未授权时,调用所述危险权限管理类,分别根据所述用户授权数据为未授权的每个所述危险权限数组标识进行返回结果生成,得到第三返回结果集合。
本实施例通过调用危险权限管理类,监听危险权限使用请求,危险权限使用请求携带有目标应用标识和目标危险权限数组标识集合,根据危险权限授权列表和目标应用标识,分别对目标危险权限数组标识集合中的每个危险权限数组标识进行授权判断,得到多个授权判断结果,当存在授权判断结果为已授权时,分别根据授权判断结果为已授权的每个危险权限数组标识进行返回结果生成,得到第一返回结果集合,当存在授权判断结果为未授权时,获取预设弹窗规则,根据预设弹窗规则、目标应用标识、授权判断结果为未授权的各个危险权限数组标识进行弹窗,得到目标弹窗,根据目标弹窗获取用户授权数据集合,当用户授权数据集合中存在用户授权数据为已授权时,分别根据用户授权数据为已授权的每个危险权限数组标识进行返回结果生成,得到第二返回结果集合,当用户授权数据集合中存在用户授权数据为未授权时,分别根据用户授权数据为未授权的每个危险权限数组标识进行返回结果生成,得到第三返回结果集合,从而使应用开发人员不需要从应用的代码层面添加额外调用操作系统的接口来申请危险权限,应用开发人员也无需关心危险权限授权的交互问题,提高了应用开发的开发效率,有利于应用的代码维护。
对于S1,调用危险权限管理类的监听单元,监听安卓系统所在设备的应用发送的危险权限使用请求。
目标应用标识,也就是发送危险权限使用请求的应用的应用标识。应用标识可以是应用名称、应用ID等唯一标识一个应用的数据。
目标危险权限数组标识集合,是危险权限使用请求想要使用的危险权限的危险权限数组标识的集合。目标危险权限数组标识集合中包括一个或多个危险权限数组标识。危险权限数组标识,是安卓系统中的危险权限数组的标识。危险权限数组标识可以是危险权限数组名称、危险权限数组ID等唯一标识一个危险权限数组的数据。危险权限数组中包括一个或多个危险权限。
可以理解的是,当每个危险权限数组中只包括一个危险权限时,可以采用危险权限数组中的危险权限的危险权限标识作为危险权限数组标识。
安卓系统的界面类,也就是安卓系统的Activity类,界面类的全称为AppCompatActivity。
对于S2,调用危险权限管理类的授权判断单元,从本地存储空间中获取安卓系统的危险权限授权列表。
本地存储空间,也就是安卓系统所在设备的本地存储空间。
危险权限授权列表,存储的是已经授权的危险权限的数据。危险权限授权列表包括:应用标识、危险权限数组标识集合,每个应用标识对应一个危险权限数组标识集合,危险权限数组标识集合中包括一个或多个危险权限数组标识。
其中,先采用所述目标应用标识从所述危险权限授权列表中查找,然后根据查找结果分别对所述目标危险权限数组标识集合中的每个危险权限数组标识进行授权判断,从而得到所述目标危险权限数组标识集合中的每个危险权限数组标识对应的授权判断结果。
对于S3,当存在所述授权判断结果为已授权时,意味着所述授权判断结果为已授权的所述危险权限数组标识已经被记录为授权,因此可以直接使用,因此调用所述危险权限管理类的授权判断单元,分别根据所述授权判断结果为已授权的每个所述危险权限数组标识进行返回结果生成,将生成的每个返回结果作为一个第一返回结果,将所有所述第一返回结果作为所述第一返回结果集合。也就是说,第一返回结果是授权成功的返回结果。
对于S4,当存在所述授权判断结果为未授权时,意味着所述授权判断结果为未授权的所述危险权限数组标识未被记录为授权,因此不可以使用,此时可以调用所述危险权限管理类的弹窗处理单元,获取预设弹窗规则,采用所述预设弹窗规则,根据所述授权判断结果为未授权的各个所述危险权限数组标识进行个性化的弹窗,将弹出的窗口作为目标弹窗。
对于S5,用户在所述目标弹窗进行授权和拒绝授权操作,操作完成点击提交按钮发送用户授权提交信号。调用所述危险权限管理类的弹窗处理单元,根据所述用户授权提交信号,从所述目标弹窗中获取用户输入的用户授权数据集合。
用户授权数据集合中包括一个或多个用户授权数据,每个用户授权数据对应一个所述危险权限数组标识。用户授权数据包括:危险权限数组标识、授权结果。授权结果包括:已授权或未授权。
对于S6,当所述用户授权数据集合中存在用户授权数据的授权结果为已授权时,调用所述危险权限管理类的授权判断单元,分别根据所述用户授权数据为已授权的每个所述危险权限数组标识进行返回结果生成,将生成的每个返回结果作为一个第二返回结果,将所有所述第二返回结果作为所述第二返回结果集合。也就是说,第二返回结果是授权成功的返回结果。
可以理解的是,所述调用所述危险权限管理类,分别根据所述用户授权数据为已授权的每个所述危险权限数组标识进行返回结果生成,得到第二返回结果集合的步骤之后,还包括:调用所述危险权限管理类,根据所述第二返回结果集合更新所述危险权限授权列表,从而避免下次再重复弹窗要求用户授权,减少了用户的操作,提高了用户体验。
对于S7,当所述用户授权数据集合中存在所述用户授权数据的授权结果为未授权时,调用所述危险权限管理类的授权判断单元,分别根据所述用户授权数据为未授权的每个所述危险权限数组标识进行返回结果生成,将生成的每个返回结果作为一个第三返回结果,将所有所述第三返回结果作为所述第三返回结果集合。也就是说,第三返回结果是授权失败的返回结果。
可以理解的是,步骤S1至步骤S7可以封装成插件,只要在使用安装系统的设备中安装该插件,应用即可通过该插件的接口进行危险权限的申请,而且应用无需关心危险权限授权的交互问题。
在一个实施例中,上述调用危险权限管理类,监听危险权限使用请求的步骤之前,包括:
S111:获取管理类自定义请求;
S112:响应所述管理类自定义请求,创建安卓系统的类,作为初始管理类;
S113:采用所述初始管理类,继承所述安卓系统的所述界面类,得到待重写的管理类;
S114:根据所述待重写的管理类,获取监听程序语句、授权判断程序语句和弹窗处理程序语句;
S115:根据所述监听程序语句、所述授权判断程序语句和所述弹窗处理程序语句,对所述待重写的管理类进行更新,得到所述危险权限管理类。
本实施例基于安卓系统的界面类进行管理类的自定义,得到危险权限管理类,为使应用开发人员不需要从应用的代码层面添加额外调用操作系统的接口来申请危险权限提供了基础。
对于S111,可以获取用户输入的管理类自定义请求。
管理类自定义请求,也就是定义危险权限管理类的请求。
对于S112,响应所述管理类自定义请求,采用安卓系统的类创建规则进行类创建,将创建的类作为所述初始管理类,从而使所述初始管理类符合安卓系统的要求,有利于基于所述初始管理类得到的危险权限管理类与安卓系统的交互。
对于S113,采用所述初始管理类,继承所述安卓系统的所述界面类的所有程序语句,将继承了所述安卓系统的所述界面类的所有程序语句的所述初始管理类作为所述待重写的管理类,从而使待重写的管理类具有所述安卓系统的所述界面类的所有功能,并且符合安卓系统的要求。
对于S114,可以获取用户根据所述待重写的管理类输入的监听程序语句、授权判断程序语句和弹窗处理程序语句,也可以获取第三方应用系统根据所述待重写的管理类发送的监听程序语句、授权判断程序语句和弹窗处理程序语句。
监听程序语句,是用于监听危险权限使用请求的程序语句。
授权判断程序语句,是用于判断授权、生成及发送返回结果的程序语句。
弹窗处理程序语句,是用于弹窗、获取用户授权数据的程序语句。
对于S115,将所述监听程序语句更新到所述待重写的管理类中,得到监听单元;将所述授权判断程序语句更新到所述待重写的管理类中,得到授权判断单元;将所述弹窗处理程序语句更新到所述待重写的管理类中,得到弹窗处理单元;将添加了监听单元、授权判断单元和弹窗处理单元的所述待重写的管理类作为所述危险权限管理类。
在一个实施例中,上述调用危险权限管理类,监听危险权限使用请求的步骤之前,还包括:
S121:获取危险权限数组管理请求;
S122:响应所述危险权限数组管理请求,获取危险权限数组更新数据和待更新的危险权限数组标识;
S123:调用权限数组管理类,获取危险权限数组管理列表,根据所述危险权限数组更新数据,对所述危险权限数组管理列表中的所述待更新的危险权限数组标识对应的危险权限标识集合进行更新,其中,所述权限数组管理类是基于所述安卓系统的变量管理类得到的类。
本实施例实现了调用权限数组管理类进行所述危险权限数组管理列表中的所述待更新的危险权限数组标识对应的危险权限标识集合的更新,从而减少了危险权限数组管理列表更新的工作量,为针对应用基于危险权限按组进行授权管理提供了基础,从而减少了用户授权的工作量,进一步提高了用户体验。
对于S121,获取用户输入的危险权限数组管理请求。
危险权限数组管理请求,是指对危险权限数组进行更新的请求。
对于S122,响应所述危险权限数组管理请求,获取用户输入的危险权限数组更新数据和待更新的危险权限数组标识。
危险权限数组更新数据,是需要更新到危险权限数组管理列表的数据。危险权限数组更新数据包括:危险权限数组标识、待更新的危险权限数据。待更新的危险权限数据包括:危险权限标识、更新方式,每个危险权限标识对应一个更新方式。更新方式包括:新增、删除中的任一种。
对于S123,调用权限数组管理类,从本地存储空间中获取危险权限数组管理列表;调用权限数组管理类,将所述待更新的危险权限数组标识在所述危险权限数组管理列表中进行危险权限标识集合查找,根据所述待危险权限数组更新数据,对查找到的危险权限标识集合进行更新。
危险权限数组管理列表包括:危险权限数组标识、危险权限标识集合,每个危险权限数组标识对应一个危险权限标识集合。也就是说,只要危险权限数组标识对应的危险权限数组被授权,意味着该危险权限数组标识对应的危险权限标识集合中的所有危险权限都被授权。
其中,所述安卓系统的变量管理类,也就是安卓系统的Permission变量管理类。
在一个实施例中,上述根据所述危险权限数组更新数据,对所述危险权限数组管理列表中的所述待更新的危险权限数组标识对应的危险权限标识集合进行更新的步骤,包括:
S1231:调用所述权限数组管理类,将所述待更新的危险权限数组标识在所述危险权限数组管理列表中进行查找,将在所述危险权限数组管理列表中查找到的危险权限数组标识对应的所述危险权限标识集合作为待更新的危险权限标识集合;
S1232:调用所述权限数组管理类,根据所述危险权限数组更新数据,对所述待更新的危险权限标识集合进行更新。
本实施例实现了根据所述危险权限数组更新数据,对所述危险权限数组管理列表中的所述待更新的危险权限数组标识对应的危险权限标识集合进行更新,从而实现了快速的进行危险权限数组的管理,从而减少了危险权限数组管理列表更新的工作量。
对于S1231,调用所述权限数组管理类,将所述待更新的危险权限数组标识在所述危险权限数组管理列表中进行查找,在所述危险权限数组管理列表中查找到的危险权限数组标识对应的所述危险权限标识集合就是需要更新的所述危险权限标识集合,因此将在所述危险权限数组管理列表中查找到的危险权限数组标识对应的所述危险权限标识集合作为待更新的危险权限标识集合。
对于S1232,调用所述权限数组管理类,从所述危险权限数组更新数据的待更新的危险权限数据中获取更新方式为新增的危险权限标识,得到待添加的危险权限标识集合,采用所述待添加的危险权限标识集合,对所述待更新的危险权限标识集合进行覆盖更新;调用所述权限数组管理类,从所述危险权限数组更新数据的待更新的危险权限数据中获取更新方式为删除的危险权限标识,得到待删除的危险权限标识集合,采用所述待删除的危险权限标识集合,对所述待更新的危险权限标识集合进行删除更新。
在一个实施例中,上述根据所述危险权限授权列表和所述目标应用标识,分别对所述目标危险权限数组标识集合中的每个危险权限数组标识进行授权判断,得到多个授权判断结果的步骤,包括:
S21:将所述目标应用标识在所述危险权限授权列表中进行查找,得到授权查找结果;
S22:当所述授权查找结果为失败时,确定所述目标危险权限数组标识集合中的每个所述危险权限数组标识对应的所述授权判断结果为未授权;
S23:当所述授权查找结果为成功时,将在所述危险权限授权列表中查找到的应用标识对应的危险权限数组标识集合作为待处理的危险权限数组标识集合;
S24:从所述目标危险权限数组标识集合中获取一个所述危险权限数组标识作为待判断的危险权限数组标识;
S25:将所述待判断的危险权限数组标识从所述待处理的危险权限数组标识集合中进行查找,当查找成功时,确定所述待判断的危险权限数组标识对应的所述授权判断结果为已授权,否则,确定所述待判断的危险权限数组标识对应的所述授权判断结果为未授权;
S26:重复执行所述从所述目标危险权限数组标识集合中获取一个所述危险权限数组标识作为待判断的危险权限数组标识的步骤,直至完成所述目标危险权限数组标识集合中的所述危险权限数组标识的提取。
本实施例实现了根据所述危险权限授权列表和所述目标应用标识,分别对所述目标危险权限数组标识集合中的每个危险权限数组标识进行授权判断,从而为根据授权判断结果进行不同方式的弹框和返回结果确定提供了基础。
对于S21,调用危险权限管理类的授权判断单元,将所述目标应用标识在所述危险权限授权列表中进行查找;当在所述危险权限授权列表中查找到应用标识时,意味着所述目标应用标识对应的应用已有被授权的危险权限数组,因此确定所述授权查找结果为成功;当在所述危险权限授权列表中没有查找到应用标识时,意味着所述目标应用标识对应的应用没有被授权的危险权限数组,因此确定所述授权查找结果为失败。
对于S22,当所述授权查找结果为失败时,意味着所述目标应用标识对应的应用没有被授权的危险权限数组,因此调用危险权限管理类的授权判断单元,确定所述目标危险权限数组标识集合中的每个所述危险权限数组标识对应的所述授权判断结果为未授权。
对于S23,当所述授权查找结果为成功时,意味着所述目标应用标识对应的应用已有被授权的危险权限数组,调用危险权限管理类的授权判断单元,将所述目标应用标识在所述危险权限授权列表中进行查找,将在所述危险权限授权列表中查找到的应用标识对应的危险权限数组标识集合作为待处理的危险权限数组标识集合。
对于S24,调用危险权限管理类的授权判断单元,依次从所述目标危险权限数组标识集合中获取一个所述危险权限数组标识,将获取的所述危险权限数组标识作为待判断的危险权限数组标识。
对于S25,调用危险权限管理类的授权判断单元,将所述待判断的危险权限数组标识从所述待处理的危险权限数组标识集合中进行查找;当在所述待处理的危险权限数组标识集合中查找到危险权限数组标识时,确定所述待判断的危险权限数组标识对应的所述授权判断结果为已授权;当在所述待处理的危险权限数组标识集合中没有查找到危险权限数组标识时,确定所述待判断的危险权限数组标识对应的所述授权判断结果为未授权。
对于S26,重复执行步骤S24至步骤S26,直至完成所述目标危险权限数组标识集合中的所述危险权限数组标识的提取。
在一个实施例中,上述根据所述预设弹窗规则、所述目标应用标识、所述授权判断结果为未授权的各个所述危险权限数组标识进行弹窗,得到目标弹窗的步骤,包括:
S411:获取危险权限永久拒绝列表;
S412:将所述目标应用标识在所述危险权限永久拒绝列表中进行查找,得到永久拒绝权限查找结果;
S413:当所述永久拒绝权限查找结果为失败时,根据所述授权判断结果为未授权的各个所述危险权限数组标识进行授权弹窗的展示,得到所述目标弹窗;
S414:当所述永久拒绝权限查找结果为成功时,将在所述危险权限永久拒绝列表中查找到的应用标识对应的危险权限数组标识集合作为永久拒绝危险权限数组标识集合;
S415:分别将所述授权判断结果为未授权的每个所述危险权限数组标识,在所述永久拒绝危险权限数组标识集合中进行查找,得到多个永久拒绝匹配结果;
S416:当存在所述永久拒绝匹配结果为成功时,根据所述永久拒绝匹配结果为成功的各个所述危险权限数组标识进行提示系统设置界面手动授权的弹窗的展示,得到所述目标弹窗;
S417:当存在所述永久拒绝匹配结果为失败时,根据所述永久拒绝匹配结果为失败的各个所述危险权限数组标识进行授权弹窗的展示,得到所述目标弹窗。
本实施例对拒绝过的所述授权判断结果为未授权的所述危险权限数组标识对应的危险权限数组和未拒绝过的所述授权判断结果为未授权的所述危险权限数组标识对应的危险权限数组采用不同的弹窗方式,在应用无需关心危险权限授权的交互问题提供了个性化的弹窗,从而提升了用户体验。
对于S411,调用所述危险权限管理类的弹窗处理单元,从本地存储空间中获取危险权限永久拒绝列表。
危险权限永久拒绝列表,是用户永久拒绝授权的危险权限的数据。危险权限永久拒绝列表包括:应用标识、危险权限数组标识集合,每个应用标识对应一个危险权限数组标识集合,危险权限数组标识集合中包括一个或多个危险权限数组标识。
对于S412,调用所述危险权限管理类的弹窗处理单元,将所述目标应用标识在所述危险权限永久拒绝列表中进行查找,当查找成功时确定所述永久拒绝权限查找结果为成功,当查找失败时确定所述永久拒绝权限查找结果为失败。
对于S413,当所述永久拒绝权限查找结果为失败时,意味着所述目标应用标识对应的应用没有被用户设为永久拒绝授权的危险权限数组,调用所述危险权限管理类的弹窗处理单元,根据所述授权判断结果为未授权的各个所述危险权限数组标识进行授权弹窗的展示,将展示得到的授权弹窗作为所述目标弹窗,从而得到提示用户进行授权的弹窗。
对于S414,当所述永久拒绝权限查找结果为成功时,意味着所述目标应用标识对应的应用有被用户设为永久拒绝授权的危险权限数组,调用所述危险权限管理类的弹窗处理单元,将所述目标应用标识在所述危险权限永久拒绝列表中进行查找,将在所述危险权限永久拒绝列表中查找到的应用标识对应的危险权限数组标识集合作为所述永久拒绝危险权限数组标识集合。
对于S415,调用所述危险权限管理类的弹窗处理单元,分别将所述授权判断结果为未授权的每个所述危险权限数组标识,在所述永久拒绝危险权限数组标识集合中进行查找;当存在所述危险权限数组标识在所述永久拒绝危险权限数组标识集合中查找成功时,将在所述永久拒绝危险权限数组标识集合中查找成功的各个所述危险权限数组标识各自对应的所述永久拒绝匹配结果确定为成功;当存在所述危险权限数组标识在所述永久拒绝危险权限数组标识集合中查找失败时,将在所述永久拒绝危险权限数组标识集合中查找失败的各个所述危险权限数组标识各自对应的所述永久拒绝匹配结果确定为失败。
对于S416,当存在所述永久拒绝匹配结果为成功时,调用所述危险权限管理类的弹窗处理单元,根据所述永久拒绝匹配结果为成功的各个所述危险权限数组标识进行提示系统设置界面手动授权的弹窗的展示,将得到的提示系统设置界面手动授权的弹窗作为所述目标弹窗,从而得到提示用户去系统设置界面进行手动授权的弹窗。
对于S417,当存在所述永久拒绝匹配结果为失败时,意味着所述目标应用标识对应的应用的所述永久拒绝匹配结果为失败的所述危险权限数组标识没有被用户设为永久拒绝授权的危险权限数组,调用所述危险权限管理类的弹窗处理单元,根据所述永久拒绝匹配结果为失败的各个所述危险权限数组标识进行授权弹窗的展示,将展示得到的授权弹窗作为所述目标弹窗,从而得到提示用户进行授权的弹窗。
在一个实施例中,上述根据所述预设弹窗规则、所述目标应用标识、所述授权判断结果为未授权的各个所述危险权限数组标识进行弹窗,得到目标弹窗的步骤,还包括:
S421:调用所述危险权限管理类的弹窗处理单元,获取预设弹窗规则和所述危险权限使用请求携带的样式配置数据,根据所述样式配置数据、所述预设弹窗规则和所述目标应用标识,根据所述授权判断结果为未授权的各个所述危险权限数组标识进行弹窗,得到所述目标弹窗。
本实施例使应用通过发送携带样式配置数据的所述危险权限使用请求,在应用无需关心危险权限授权的交互问题的情况下即可进行个性化的弹窗,提高了应用开发的开发效率,提高了用户体验。
对于S421,当存在所述授权判断结果为未授权时,调用所述危险权限管理类的弹窗处理单元,从本地存储空间中获取所述预设弹窗规则,从所述危险权限使用请求携带的参数中获取所述样式配置数据,采用所述样式配置数据、所述预设弹窗规则和所述目标应用标识,根据所述授权判断结果为未授权的各个所述危险权限数组标识进行弹窗,将弹窗得到的窗口作为目标弹窗。
所述危险权限管理类的弹窗处理单元提前定义了弹窗样式组件,因此应用只需要根据各个弹窗样式组件的配置要求进行配置,然后将配置数据作为所述危险权限使用请求的参数,无需关心危险权限授权的交互问题的情况下即可进行个性化的弹窗。
弹窗样式组件中定义了颜色、字体、风格、页面布局。每个弹窗样式组件有一个样式组件标识。所述危险权限使用请求的样式配置数据中只要写入样式组件标识,即可实现个性化的弹窗。
参照图2,本申请还提出了一种安卓系统的危险权限管理装置,所述装置包括:
请求获取模块100,用于调用危险权限管理类,监听危险权限使用请求,所述危险权限使用请求携带有目标应用标识和目标危险权限数组标识集合,其中,所述危险权限管理类是基于安卓系统的界面类得到的类;
授权判断结果确定模块200,用于调用所述危险权限管理类,获取危险权限授权列表,根据所述危险权限授权列表和所述目标应用标识,分别对所述目标危险权限数组标识集合中的每个危险权限数组标识进行授权判断,得到多个授权判断结果;
第一返回结果集合确定模块300,用于当存在所述授权判断结果为已授权时,调用所述危险权限管理类,分别根据所述授权判断结果为已授权的每个所述危险权限数组标识进行返回结果生成,得到第一返回结果集合;
目标弹窗确定模块400,用于当存在所述授权判断结果为未授权时,调用所述危险权限管理类,获取预设弹窗规则,根据所述预设弹窗规则、所述目标应用标识、所述授权判断结果为未授权的各个所述危险权限数组标识进行弹窗,得到目标弹窗;
用户授权数据集合确定模块500,用于调用所述危险权限管理类,根据所述目标弹窗获取用户授权数据集合;
第二返回结果集合确定模块600,用于当所述用户授权数据集合中存在用户授权数据为已授权时,调用所述危险权限管理类,分别根据所述用户授权数据为已授权的每个所述危险权限数组标识进行返回结果生成,得到第二返回结果集合;
第三返回结果集合确定模块700,用于当所述用户授权数据集合中存在所述用户授权数据为未授权时,调用所述危险权限管理类,分别根据所述用户授权数据为未授权的每个所述危险权限数组标识进行返回结果生成,得到第三返回结果集合。
本实施例通过调用危险权限管理类,监听危险权限使用请求,危险权限使用请求携带有目标应用标识和目标危险权限数组标识集合,根据危险权限授权列表和目标应用标识,分别对目标危险权限数组标识集合中的每个危险权限数组标识进行授权判断,得到多个授权判断结果,当存在授权判断结果为已授权时,分别根据授权判断结果为已授权的每个危险权限数组标识进行返回结果生成,得到第一返回结果集合,当存在授权判断结果为未授权时,获取预设弹窗规则,根据预设弹窗规则、目标应用标识、授权判断结果为未授权的各个危险权限数组标识进行弹窗,得到目标弹窗,根据目标弹窗获取用户授权数据集合,当用户授权数据集合中存在用户授权数据为已授权时,分别根据用户授权数据为已授权的每个危险权限数组标识进行返回结果生成,得到第二返回结果集合,当用户授权数据集合中存在用户授权数据为未授权时,分别根据用户授权数据为未授权的每个危险权限数组标识进行返回结果生成,得到第三返回结果集合,从而使应用开发人员不需要从应用的代码层面添加额外调用操作系统的接口来申请危险权限,应用开发人员也无需关心危险权限授权的交互问题,提高了应用开发的开发效率,有利于应用的代码维护。
参照图3,本申请实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于储存安卓系统的危险权限管理方法等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种安卓系统的危险权限管理方法。所述安卓系统的危险权限管理方法,包括:调用危险权限管理类,监听危险权限使用请求,所述危险权限使用请求携带有目标应用标识和目标危险权限数组标识集合,其中,所述危险权限管理类是基于安卓系统的界面类得到的类;调用所述危险权限管理类,获取危险权限授权列表,根据所述危险权限授权列表和所述目标应用标识,分别对所述目标危险权限数组标识集合中的每个危险权限数组标识进行授权判断,得到多个授权判断结果;当存在所述授权判断结果为已授权时,调用所述危险权限管理类,分别根据所述授权判断结果为已授权的每个所述危险权限数组标识进行返回结果生成,得到第一返回结果集合;当存在所述授权判断结果为未授权时,调用所述危险权限管理类,获取预设弹窗规则,根据所述预设弹窗规则、所述目标应用标识、所述授权判断结果为未授权的各个所述危险权限数组标识进行弹窗,得到目标弹窗;调用所述危险权限管理类,根据所述目标弹窗获取用户授权数据集合;当所述用户授权数据集合中存在用户授权数据为已授权时,调用所述危险权限管理类,分别根据所述用户授权数据为已授权的每个所述危险权限数组标识进行返回结果生成,得到第二返回结果集合;当所述用户授权数据集合中存在所述用户授权数据为未授权时,调用所述危险权限管理类,分别根据所述用户授权数据为未授权的每个所述危险权限数组标识进行返回结果生成,得到第三返回结果集合。
本实施例通过调用危险权限管理类,监听危险权限使用请求,危险权限使用请求携带有目标应用标识和目标危险权限数组标识集合,根据危险权限授权列表和目标应用标识,分别对目标危险权限数组标识集合中的每个危险权限数组标识进行授权判断,得到多个授权判断结果,当存在授权判断结果为已授权时,分别根据授权判断结果为已授权的每个危险权限数组标识进行返回结果生成,得到第一返回结果集合,当存在授权判断结果为未授权时,获取预设弹窗规则,根据预设弹窗规则、目标应用标识、授权判断结果为未授权的各个危险权限数组标识进行弹窗,得到目标弹窗,根据目标弹窗获取用户授权数据集合,当用户授权数据集合中存在用户授权数据为已授权时,分别根据用户授权数据为已授权的每个危险权限数组标识进行返回结果生成,得到第二返回结果集合,当用户授权数据集合中存在用户授权数据为未授权时,分别根据用户授权数据为未授权的每个危险权限数组标识进行返回结果生成,得到第三返回结果集合,从而使应用开发人员不需要从应用的代码层面添加额外调用操作系统的接口来申请危险权限,应用开发人员也无需关心危险权限授权的交互问题,提高了应用开发的开发效率,有利于应用的代码维护。
本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现一种安卓系统的危险权限管理方法,包括步骤:调用危险权限管理类,监听危险权限使用请求,所述危险权限使用请求携带有目标应用标识和目标危险权限数组标识集合,其中,所述危险权限管理类是基于安卓系统的界面类得到的类;调用所述危险权限管理类,获取危险权限授权列表,根据所述危险权限授权列表和所述目标应用标识,分别对所述目标危险权限数组标识集合中的每个危险权限数组标识进行授权判断,得到多个授权判断结果;当存在所述授权判断结果为已授权时,调用所述危险权限管理类,分别根据所述授权判断结果为已授权的每个所述危险权限数组标识进行返回结果生成,得到第一返回结果集合;当存在所述授权判断结果为未授权时,调用所述危险权限管理类,获取预设弹窗规则,根据所述预设弹窗规则、所述目标应用标识、所述授权判断结果为未授权的各个所述危险权限数组标识进行弹窗,得到目标弹窗;调用所述危险权限管理类,根据所述目标弹窗获取用户授权数据集合;当所述用户授权数据集合中存在用户授权数据为已授权时,调用所述危险权限管理类,分别根据所述用户授权数据为已授权的每个所述危险权限数组标识进行返回结果生成,得到第二返回结果集合;当所述用户授权数据集合中存在所述用户授权数据为未授权时,调用所述危险权限管理类,分别根据所述用户授权数据为未授权的每个所述危险权限数组标识进行返回结果生成,得到第三返回结果集合。
上述执行的安卓系统的危险权限管理方法,本实施例通过调用危险权限管理类,监听危险权限使用请求,危险权限使用请求携带有目标应用标识和目标危险权限数组标识集合,根据危险权限授权列表和目标应用标识,分别对目标危险权限数组标识集合中的每个危险权限数组标识进行授权判断,得到多个授权判断结果,当存在授权判断结果为已授权时,分别根据授权判断结果为已授权的每个危险权限数组标识进行返回结果生成,得到第一返回结果集合,当存在授权判断结果为未授权时,获取预设弹窗规则,根据预设弹窗规则、目标应用标识、授权判断结果为未授权的各个危险权限数组标识进行弹窗,得到目标弹窗,根据目标弹窗获取用户授权数据集合,当用户授权数据集合中存在用户授权数据为已授权时,分别根据用户授权数据为已授权的每个危险权限数组标识进行返回结果生成,得到第二返回结果集合,当用户授权数据集合中存在用户授权数据为未授权时,分别根据用户授权数据为未授权的每个危险权限数组标识进行返回结果生成,得到第三返回结果集合,从而使应用开发人员不需要从应用的代码层面添加额外调用操作系统的接口来申请危险权限,应用开发人员也无需关心危险权限授权的交互问题,提高了应用开发的开发效率,有利于应用的代码维护。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双速据率SDRAM(SSRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (10)

1.一种安卓系统的危险权限管理方法,其特征在于,所述方法包括:
调用危险权限管理类,监听危险权限使用请求,所述危险权限使用请求携带有目标应用标识和目标危险权限数组标识集合,其中,所述危险权限管理类是基于安卓系统的界面类得到的类;
调用所述危险权限管理类,获取危险权限授权列表,根据所述危险权限授权列表和所述目标应用标识,分别对所述目标危险权限数组标识集合中的每个危险权限数组标识进行授权判断,得到多个授权判断结果;
当存在所述授权判断结果为已授权时,调用所述危险权限管理类,分别根据所述授权判断结果为已授权的每个所述危险权限数组标识进行返回结果生成,得到第一返回结果集合;
当存在所述授权判断结果为未授权时,调用所述危险权限管理类,获取预设弹窗规则,根据所述预设弹窗规则、所述目标应用标识、所述授权判断结果为未授权的各个所述危险权限数组标识进行弹窗,得到目标弹窗;
调用所述危险权限管理类,根据所述目标弹窗获取用户授权数据集合;
当所述用户授权数据集合中存在用户授权数据为已授权时,调用所述危险权限管理类,分别根据所述用户授权数据为已授权的每个所述危险权限数组标识进行返回结果生成,得到第二返回结果集合;
当所述用户授权数据集合中存在所述用户授权数据为未授权时,调用所述危险权限管理类,分别根据所述用户授权数据为未授权的每个所述危险权限数组标识进行返回结果生成,得到第三返回结果集合。
2.根据权利要求1所述的安卓系统的危险权限管理方法,其特征在于,所述调用危险权限管理类,监听危险权限使用请求的步骤之前,包括:
获取管理类自定义请求;
响应所述管理类自定义请求,创建安卓系统的类,作为初始管理类;
采用所述初始管理类,继承所述安卓系统的所述界面类,得到待重写的管理类;
根据所述待重写的管理类,获取监听程序语句、授权判断程序语句和弹窗处理程序语句;
根据所述监听程序语句、所述授权判断程序语句和所述弹窗处理程序语句,对所述待重写的管理类进行更新,得到所述危险权限管理类。
3.根据权利要求1所述的安卓系统的危险权限管理方法,其特征在于,所述调用危险权限管理类,监听危险权限使用请求的步骤之前,还包括:
获取危险权限数组管理请求;
响应所述危险权限数组管理请求,获取危险权限数组更新数据和待更新的危险权限数组标识;
调用权限数组管理类,获取危险权限数组管理列表,根据所述危险权限数组更新数据,对所述危险权限数组管理列表中的所述待更新的危险权限数组标识对应的危险权限标识集合进行更新,其中,所述权限数组管理类是基于所述安卓系统的变量管理类得到的类。
4.根据权利要求3所述的安卓系统的危险权限管理方法,其特征在于,所述根据所述危险权限数组更新数据,对所述危险权限数组管理列表中的所述待更新的危险权限数组标识对应的危险权限标识集合进行更新的步骤,包括:
调用所述权限数组管理类,将所述待更新的危险权限数组标识在所述危险权限数组管理列表中进行查找,将在所述危险权限数组管理列表中查找到的危险权限数组标识对应的所述危险权限标识集合作为待更新的危险权限标识集合;
调用所述权限数组管理类,根据所述危险权限数组更新数据,对所述待更新的危险权限标识集合进行更新。
5.根据权利要求1所述的安卓系统的危险权限管理方法,其特征在于,所述根据所述危险权限授权列表和所述目标应用标识,分别对所述目标危险权限数组标识集合中的每个危险权限数组标识进行授权判断,得到多个授权判断结果的步骤,包括:
将所述目标应用标识在所述危险权限授权列表中进行查找,得到授权查找结果;
当所述授权查找结果为失败时,确定所述目标危险权限数组标识集合中的每个所述危险权限数组标识对应的所述授权判断结果为未授权;
当所述授权查找结果为成功时,将在所述危险权限授权列表中查找到的应用标识对应的危险权限数组标识集合作为待处理的危险权限数组标识集合;
从所述目标危险权限数组标识集合中获取一个所述危险权限数组标识作为待判断的危险权限数组标识;
将所述待判断的危险权限数组标识从所述待处理的危险权限数组标识集合中进行查找,当查找成功时,确定所述待判断的危险权限数组标识对应的所述授权判断结果为已授权,否则,确定所述待判断的危险权限数组标识对应的所述授权判断结果为未授权;
重复执行所述从所述目标危险权限数组标识集合中获取一个所述危险权限数组标识作为待判断的危险权限数组标识的步骤,直至完成所述目标危险权限数组标识集合中的所述危险权限数组标识的提取。
6.根据权利要求1所述的安卓系统的危险权限管理方法,其特征在于,所述根据所述预设弹窗规则、所述目标应用标识、所述授权判断结果为未授权的各个所述危险权限数组标识进行弹窗,得到目标弹窗的步骤,包括:
获取危险权限永久拒绝列表;
将所述目标应用标识在所述危险权限永久拒绝列表中进行查找,得到永久拒绝权限查找结果;
当所述永久拒绝权限查找结果为失败时,根据所述授权判断结果为未授权的各个所述危险权限数组标识进行授权弹窗的展示,得到所述目标弹窗;
当所述永久拒绝权限查找结果为成功时,将在所述危险权限永久拒绝列表中查找到的应用标识对应的危险权限数组标识集合作为永久拒绝危险权限数组标识集合;
分别将所述授权判断结果为未授权的每个所述危险权限数组标识,在所述永久拒绝危险权限数组标识集合中进行查找,得到多个永久拒绝匹配结果;
当存在所述永久拒绝匹配结果为成功时,根据所述永久拒绝匹配结果为成功的各个所述危险权限数组标识进行提示系统设置界面手动授权的弹窗的展示,得到所述目标弹窗;
当存在所述永久拒绝匹配结果为失败时,根据所述永久拒绝匹配结果为失败的各个所述危险权限数组标识进行授权弹窗的展示,得到所述目标弹窗。
7.根据权利要求1所述的安卓系统的危险权限管理方法,其特征在于,所述根据所述预设弹窗规则、所述目标应用标识、所述授权判断结果为未授权的各个所述危险权限数组标识进行弹窗,得到目标弹窗的步骤,还包括:
调用所述危险权限管理类的弹窗处理单元,获取预设弹窗规则和所述危险权限使用请求携带的样式配置数据,根据所述样式配置数据、所述预设弹窗规则和所述目标应用标识,根据所述授权判断结果为未授权的各个所述危险权限数组标识进行弹窗,得到所述目标弹窗。
8.一种安卓系统的危险权限管理装置,其特征在于,所述装置包括:
请求获取模块,用于调用危险权限管理类,监听危险权限使用请求,所述危险权限使用请求携带有目标应用标识和目标危险权限数组标识集合,其中,所述危险权限管理类是基于安卓系统的界面类得到的类;
授权判断结果确定模块,用于调用所述危险权限管理类,获取危险权限授权列表,根据所述危险权限授权列表和所述目标应用标识,分别对所述目标危险权限数组标识集合中的每个危险权限数组标识进行授权判断,得到多个授权判断结果;
第一返回结果集合确定模块,用于当存在所述授权判断结果为已授权时,调用所述危险权限管理类,分别根据所述授权判断结果为已授权的每个所述危险权限数组标识进行返回结果生成,得到第一返回结果集合;
目标弹窗确定模块,用于当存在所述授权判断结果为未授权时,调用所述危险权限管理类,获取预设弹窗规则,根据所述预设弹窗规则、所述目标应用标识、所述授权判断结果为未授权的各个所述危险权限数组标识进行弹窗,得到目标弹窗;
用户授权数据集合确定模块,用于调用所述危险权限管理类,根据所述目标弹窗获取用户授权数据集合;
第二返回结果集合确定模块,用于当所述用户授权数据集合中存在用户授权数据为已授权时,调用所述危险权限管理类,分别根据所述用户授权数据为已授权的每个所述危险权限数组标识进行返回结果生成,得到第二返回结果集合;
第三返回结果集合确定模块,用于当所述用户授权数据集合中存在所述用户授权数据为未授权时,调用所述危险权限管理类,分别根据所述用户授权数据为未授权的每个所述危险权限数组标识进行返回结果生成,得到第三返回结果集合。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
CN202110737172.7A 2021-06-30 2021-06-30 安卓系统的危险权限管理方法、装置、设备及存储介质 Active CN113296657B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110737172.7A CN113296657B (zh) 2021-06-30 2021-06-30 安卓系统的危险权限管理方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110737172.7A CN113296657B (zh) 2021-06-30 2021-06-30 安卓系统的危险权限管理方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN113296657A CN113296657A (zh) 2021-08-24
CN113296657B true CN113296657B (zh) 2022-03-18

Family

ID=77329979

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110737172.7A Active CN113296657B (zh) 2021-06-30 2021-06-30 安卓系统的危险权限管理方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN113296657B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116702163B (zh) * 2022-09-27 2024-06-21 荣耀终端有限公司 权限管理的方法及终端设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104462890A (zh) * 2013-09-15 2015-03-25 南京大五教育科技有限公司 Android平台下的应用程序权限管理方法
CN106529270A (zh) * 2016-09-22 2017-03-22 南京酷派软件技术有限公司 一种应用程序授权方法及装置
CN108549799A (zh) * 2018-04-13 2018-09-18 深圳壹账通智能科技有限公司 安卓权限的管理方法、装置、终端和计算机存储介质
CN111460428A (zh) * 2020-03-20 2020-07-28 山东浪潮通软信息科技有限公司 一种安卓系统的权限管理方法、装置及可读介质
CN112989298A (zh) * 2021-03-09 2021-06-18 京东数字科技控股股份有限公司 权限管理方法、装置、计算机设备和存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SG10201509221YA (en) * 2015-11-06 2017-06-29 Huawei Int Pte Ltd System and method for managing installation of an application package requiring high-risk permission access

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104462890A (zh) * 2013-09-15 2015-03-25 南京大五教育科技有限公司 Android平台下的应用程序权限管理方法
CN106529270A (zh) * 2016-09-22 2017-03-22 南京酷派软件技术有限公司 一种应用程序授权方法及装置
CN108549799A (zh) * 2018-04-13 2018-09-18 深圳壹账通智能科技有限公司 安卓权限的管理方法、装置、终端和计算机存储介质
CN111460428A (zh) * 2020-03-20 2020-07-28 山东浪潮通软信息科技有限公司 一种安卓系统的权限管理方法、装置及可读介质
CN112989298A (zh) * 2021-03-09 2021-06-18 京东数字科技控股股份有限公司 权限管理方法、装置、计算机设备和存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"基于权限的Android应用程序安全审计方法";李晓东 等;《浙江大学学报(工学版)》;20170331;第51卷(第3期);第590-597页 *

Also Published As

Publication number Publication date
CN113296657A (zh) 2021-08-24

Similar Documents

Publication Publication Date Title
CN110851274B (zh) 资源访问控制方法、装置、设备及存储介质
CN108549799B (zh) 安卓权限的管理方法、装置、终端和计算机存储介质
CN110363026B (zh) 文件操作方法、装置、设备、系统及计算机可读存储介质
CN106330958A (zh) 一种安全访问方法及装置
CN113114674A (zh) 业务访问方法、装置、设备和存储介质
US9619631B1 (en) Role-based permissions for accessing computing resources
KR20070094824A (ko) 보안성 동적 로딩
CN110673881A (zh) 微服务集群的配置管理方法、装置和计算机设备
CN113296657B (zh) 安卓系统的危险权限管理方法、装置、设备及存储介质
CN113660229B (zh) 基于rpa的多系统单点登录方法、装置、设备及介质
CN112860778A (zh) 桌面应用程序的数据库管理方法、装置、设备和介质
CN113268450A (zh) 文件访问方法及装置、电子设备、存储介质
CN111931254A (zh) 一种Android设备唯一标识的混合标识方法
US9679122B1 (en) Methods and apparatus for using credentials to access computing resources
CN115004666A (zh) 物联网设备的注册方法、装置、设备及存储介质
CN110990798A (zh) 应用程序权限配置方法、装置、电子设备及存储介质
CN118055142A (zh) 服务开放方法、电子设备及计算机可读介质
CN113742023A (zh) 权限配置方法、装置、计算机设备和存储介质
CN112613075A (zh) 权限的确定方法及装置、存储介质及电子装置
CN114978671A (zh) 前端资源访问的方法、装置、计算机设备及存储介质
CN114237931A (zh) 接口调用的配置方法、装置、计算机设备及存储介质
CN112364340A (zh) 权限管理方法、装置、设备及计算机可读存储介质
CN113127097A (zh) 应用的启动方法、装置、设备和存储介质
CN110661765B (zh) 授权网络更新方法、装置、计算机设备和存储介质
CN112637085A (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