CN106997433A - 一种Android系统权限管理方法 - Google Patents
一种Android系统权限管理方法 Download PDFInfo
- Publication number
- CN106997433A CN106997433A CN201710175333.1A CN201710175333A CN106997433A CN 106997433 A CN106997433 A CN 106997433A CN 201710175333 A CN201710175333 A CN 201710175333A CN 106997433 A CN106997433 A CN 106997433A
- Authority
- CN
- China
- Prior art keywords
- authority
- application
- android system
- application program
- management method
- 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.)
- Pending
Links
Classifications
-
- 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/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- 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/60—Protecting data
- G06F21/604—Tools and structures for managing or administering access control systems
-
- 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/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/629—Protecting access to data via a platform, e.g. using keys or access control rules to features or functions of an application
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Automation & Control Theory (AREA)
- Storage Device Security (AREA)
Abstract
本发明属于移动终端Android系统技术领域,公开了一种Android系统权限管理方法,包括:应用程序访问权限API,进行权限检查;应用程序权限不存在时进行权限申请;应用程序权限存在,在Android系统权限管理数据中查询应用程序对应的应用进程权限;根据应用进程权限的查询结果,执行相应操作。本发明基于Android6.0及以上版本权限管理特性,在程序中增加了权限检测、申请和回调方法;在权限管理中增加了允许、提示和禁止功能,使用户选择和控制应用权限,可以更好的满足用户需求;解决了Android系统权限管理过于简单的问题,用户体验更好。
Description
技术领域
本发明属于移动终端Android系统技术领域,尤其涉及一种Android系统权限管理方法。
背景技术
Android系统Permission机制的大部分功能都有Android系统代码完成,在系统安全得到保证的前提下,访问者与资源间的访问控制是可以得到保证的。但是粗粒度的权限访问控制能力管理,使得Permission机制存在一系列的安全问题。由于不显示授权界面、权限描述不清和粗粒度的用户访问控制能力管理引发用户Permission确认过程中的安全隐患,导致应用程序过度申请权限、滥用权限和系统权限管理难度增加。
综上所述,现有技术存在的问题是:由于不显示授权界面、权限描述不清和粗粒度的用户访问控制能力管理引发用户Permission确认过程中的安全隐患,以及Permission传递机制管理的漏洞为攻击者提供了合谋攻击的途径。现有技术提供一站式服务,相当于应用程序安装时,接受应用程序所申请的所有权限,否则,不能安装该应用程序。这种一站式服务没有提供后期的权限维护和修改、申请功能,而权限管理功能封装在框架层,对于开发者而言,必须深入Android系统的开发,对其做相应的修改。
发明内容
针对现有技术存在的问题,本发明提供了一种Android系统权限管理方法。
本发明是这样实现的,一种Android系统权限管理方法,所述Android系统权限管理方法包括以下步骤:
应用程序访问权限API,进行权限检查;
应用程序权限不存在时进入权限申请;
应用程序权限存在,Android系统权限管理数据查询应用程序对应的应用进程权限;
根据应用进程权限的查询结果,执行相应操作。
进一步,应用程序根据访问API所需的权限调用checkSelfPermission()方法,检测应用是否拥有该权限,当应用程序拥有该权限时,进入权限提示模块,否则进入权限申请模块。
进一步,权限申请在程序中对权限进行动态的申请。
进一步,应用进程权限包括允许、提示和拒绝。
进一步,当应用程序对应权限为允许时,应用程序正常调用权限的API;
当应用程序对应权限为提示时,应用程序暂停执行,弹出对话框并接受用户的选择,根据用户的选择来决定是否继续执行;
当应用程序对应权限为拒绝时,应用程序继续执行,不能调用需要权限的API。
本发明的另一目的在于提供一种利用所述Android系统权限管理方法的基于Android6.0及以上版本权限新特性的权限管理方法,所述基于Android6.0及以上版本权限新特性的权限管理方法具体步骤包括如下:
步骤一,权限检测:
程序封装一个方法hasPermission(),传入的参数为权限名数组,调用checkSelfPermission(),同时传入参数为权限名数组,根据返回值来检测是否拥有权限;
步骤二,权限申请:
程序封装一个权限申请方法requestPermission(),权限申请方法的参数为申请码和权限名数组在方法中调用requestPermissions(),权限申请方法参数为权限名数组和context以及申请码;
步骤三,请求回调处理:
重写一个方法onRequestPermissionResult(),主要的参数有申请码、权限名数组,调用switch结构,根据申请码进行区分请求。
本发明的另一目的在于提供一种应用所述Android系统权限管理方法的移动终端。
本发明的另一目的在于提供一种应用所述Android系统权限管理方法的Android系统。
本发明的优点及积极效果为:
本发明通过在程序中增加权限检测、申请和回调方法,因此结合了Android6.0及以上版本的权限管理新特性,增量权限在应用层申请的功能,解决了Android权限不能动态申请的问题。
本发明通过在权限管理中增加允许、提示和禁止功能,增加用户自主控制应用程序权限的能力,解决了Android粗粒度的权限管理问题。
附图说明
图1是本发明实施例提供的基于Android6.0系统权限管理方法流程图。
图2是本发明实施例提供的基于Android6.0权限新特性的权限管理方法流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例提供的基于Android6.0及以上版本系统权限管理方法。
下面结合附图对本发明的应用原理作详细的描述。
如图1所示,本发明实施例基于Android6.0提供的系统权限管理方法包括以下步骤:
S101:应用程序访问需要权限的API时,程序本身进行权限检查;
S102:应用程序权限不存在时进入权限申请模块;
S103:应用程序权限存在时,在Android系统的权限管理数据查询所述应用程序对应的应用进程权限;
S104:根据所述应用进程权限的查询结果,执行相应操作。
下面结合附图对本发明的应用原理作进一步的描述。
本发明实施例提供的Android系统权限管理方法包括以下步骤:
步骤一,当应用程序访问需要权限的API时,程序本身进行权限检查
应用程序根据访问API所需的权限调用checkSelfPermission()方法,检测应用是否拥有该权限,当应用程序拥有该权限时,进入权限提示模块,否则进入权限申请模块。
在本发明实施例中,Android系统的权限管理数据来自于/data/system/packages.xml文件中,开机时直接读取该文件,加载权限信息到内存。应用程序的标识用于区分应用程序,该应用程序标识可以是包名。
需要权限的数据大致分为系统资源和应用程序资源。系统资源包括Android系统提供的各种服务、硬件设备、各种数据库资源。应用程序的资源包括构成应用程序的四大主键。这些资源通过对访问者提出能力要求,实现访问控制。
步骤二,当应用程序权限不存在时进入权限申请模块
在权限申请模块主要运用Android6.0关于权限的新特性,在程序中对权限进行动态的申请。
步骤三,当应用程序权限存在时,在Android系统的权限管理数据查询所述应用程序对应的应用进程权限。
在本发明实例中,应用进程权限包括允许、提示和拒绝。
步骤四,当根据所述应用进程权限的查询结果,执行相应操作。
当应用程序对应权限为允许时,应用程序正常调用需要该权限的API;
当应用程序对应权限为提示时,应用程序暂停执行,弹出对话框并接受用户的选择,根据用户的选择来决定是否继续执行;
当应用程序对应权限为拒绝时,应用程序继续执行,但不能调用需要该权限的API。
需要说明的是,弹出对话框为dialog对话框,提示用户索要读取的数据或者访问的服务,并接受用户的选择允许或拒绝。
如图2所示,本发明实施例提供的基于Android6.0权限新特性的权限管理方法具体步骤包括如下:
步骤一,权限检测
程序封装一个方法hasPermission(),传入的参数为权限名数组,在方法中调用checkSelfPermission(),同时传入参数为权限名数组,根据方法的返回值来检测是否拥有该权限。
步骤二,权限申请
程序封装一个权限申请方法requestPermission(),方法的主要参数为申请码和权限名数组在方法中调用requestPermissions(),方法的主要参数为权限名数组和context以及申请码。
步骤三,请求回调处理
重写一个方法onRequestPermissionResult(),主要的参数有申请码、权限名数组。调用switch结构,根据申请码进行区分请求。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种Android系统权限管理方法,其特征在于,所述Android系统权限管理方法包括:
应用程序访问权限API,进行权限检查;
应用程序权限不存在时进入权限申请;
应用程序权限存在,Android系统权限管理数据查询应用程序对应的应用进程权限;
根据应用进程权限的查询结果,执行相应操作。
2.如权利要求1所述的Android系统权限管理方法,其特征在于,应用程序根据访问API所需的权限调用checkSelfPermission()方法,检测应用是否拥有权限,当应用程序拥有权限时,进入权限提示模块,否则进入权限申请模块。
3.如权利要求1所述的Android系统权限管理方法,其特征在于,权限申请在程序中对权限进行动态的申请。
4.如权利要求1所述的Android系统权限管理方法,其特征在于,应用进程权限标示包括允许、提示和拒绝。
5.如权利要求1所述的Android系统权限管理方法,其特征在于,当应用程序对应权限为允许时,应用程序正常调用权限的API;
当应用程序对应权限为提示时,应用程序暂停执行,弹出对话框并接受用户的选择,根据用户的选择来决定是否继续执行;
当应用程序对应权限为拒绝时,应用程序继续执行,不能调用需要权限的API。
6.一种利用权利要求1所述Android系统权限管理方法的基于Android6.0及以上版本权限新特性的权限管理方法,其特征在于,所述基于Android6.0及以上版本权限新特性的权限管理方法具体步骤包括如下:
步骤一,权限检测:
程序封装一个方法hasPermission(),传入的参数为权限名数组,调用checkSelfPermission(),同时传入参数为权限名数组,根据返回值来检测是否拥有权限;
步骤二,权限申请:
程序封装一个权限申请方法requestPermission(),权限申请方法的参数为申请码和权限名数组在方法中调用requestPermissions(),权限申请方法参数为权限名数组和context以及申请码;
步骤三,请求回调处理:
重写一个方法onRequestPermissionResult(),主要的参数有申请码、权限名数组,调用switch结构,根据申请码进行区分请求。
7.一种应用权利要求1~5任意一项所述Android系统权限管理方法的移动终端。
8.一种应用权利要求1~5任意一项所述Android系统权限管理方法的Android系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710175333.1A CN106997433A (zh) | 2017-03-22 | 2017-03-22 | 一种Android系统权限管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710175333.1A CN106997433A (zh) | 2017-03-22 | 2017-03-22 | 一种Android系统权限管理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106997433A true CN106997433A (zh) | 2017-08-01 |
Family
ID=59431478
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710175333.1A Pending CN106997433A (zh) | 2017-03-22 | 2017-03-22 | 一种Android系统权限管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106997433A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108632460A (zh) * | 2018-04-18 | 2018-10-09 | Oppo广东移动通信有限公司 | 权限管理方法、装置、移动终端以及存储介质 |
CN108647070A (zh) * | 2018-04-18 | 2018-10-12 | Oppo广东移动通信有限公司 | 信息提醒方法、装置、移动终端和计算机可读介质 |
CN108763892A (zh) * | 2018-04-18 | 2018-11-06 | Oppo广东移动通信有限公司 | 权限管理方法、装置、移动终端以及存储介质 |
CN108804938A (zh) * | 2018-06-14 | 2018-11-13 | 北京金山安全软件有限公司 | 一种权限检测方法、装置、电子设备及可读存储介质 |
CN109254793A (zh) * | 2018-09-20 | 2019-01-22 | Oppo广东移动通信有限公司 | 引擎隔离方法、相关设备以及计算机可读存储介质 |
CN109711141A (zh) * | 2018-11-05 | 2019-05-03 | 中兴通讯股份有限公司 | 终端中敏感权限模块的调用请求的处理方法及装置 |
CN111143089A (zh) * | 2019-12-23 | 2020-05-12 | 飞天诚信科技股份有限公司 | 一种应用程序调用第三方库动态提升权限的方法及装置 |
CN112363709A (zh) * | 2020-12-11 | 2021-02-12 | 成都商通数治科技有限公司 | 一种Android申请权限并返回申请结果的方法 |
CN113504855A (zh) * | 2021-07-13 | 2021-10-15 | 读书郎教育科技有限公司 | 一种Android应用权限确认的提示和时效控制方法及装置 |
CN113672900A (zh) * | 2021-08-23 | 2021-11-19 | 读书郎教育科技有限公司 | 一种Android终端实现应用权限管控的方法和装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102289633A (zh) * | 2011-09-02 | 2011-12-21 | 广东欧珀移动通信有限公司 | Android平台下的应用程序动态权限管理方法 |
CN103268451A (zh) * | 2013-06-08 | 2013-08-28 | 上海斐讯数据通信技术有限公司 | 一种基于移动终端的动态权限管理系统 |
-
2017
- 2017-03-22 CN CN201710175333.1A patent/CN106997433A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102289633A (zh) * | 2011-09-02 | 2011-12-21 | 广东欧珀移动通信有限公司 | Android平台下的应用程序动态权限管理方法 |
CN103268451A (zh) * | 2013-06-08 | 2013-08-28 | 上海斐讯数据通信技术有限公司 | 一种基于移动终端的动态权限管理系统 |
Non-Patent Citations (3)
Title |
---|
LEBANG08: "安卓6.0之后——动态获取权限封装", 《HTTPS://BLOG.CSDN.NET/LEBANG08/ARTICLE/DETAILS/52751088》 * |
樊添: "Android平台细粒度权限管理系统的设计与实现", 《中国优秀硕士学位论文全文数据库信息科技辑(月刊)》 * |
王少辉 等: "DroidDefence:细粒度的Android应用权限管理系统", 《四川大学学报(工程科学版)》 * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108647070B (zh) * | 2018-04-18 | 2022-02-22 | Oppo广东移动通信有限公司 | 信息提醒方法、装置、移动终端和计算机可读介质 |
CN108647070A (zh) * | 2018-04-18 | 2018-10-12 | Oppo广东移动通信有限公司 | 信息提醒方法、装置、移动终端和计算机可读介质 |
CN108763892A (zh) * | 2018-04-18 | 2018-11-06 | Oppo广东移动通信有限公司 | 权限管理方法、装置、移动终端以及存储介质 |
CN108632460A (zh) * | 2018-04-18 | 2018-10-09 | Oppo广东移动通信有限公司 | 权限管理方法、装置、移动终端以及存储介质 |
CN108804938A (zh) * | 2018-06-14 | 2018-11-13 | 北京金山安全软件有限公司 | 一种权限检测方法、装置、电子设备及可读存储介质 |
CN108804938B (zh) * | 2018-06-14 | 2020-12-25 | 北京金山安全软件有限公司 | 一种权限检测方法、装置、电子设备及可读存储介质 |
CN109254793A (zh) * | 2018-09-20 | 2019-01-22 | Oppo广东移动通信有限公司 | 引擎隔离方法、相关设备以及计算机可读存储介质 |
CN109711141A (zh) * | 2018-11-05 | 2019-05-03 | 中兴通讯股份有限公司 | 终端中敏感权限模块的调用请求的处理方法及装置 |
CN111143089A (zh) * | 2019-12-23 | 2020-05-12 | 飞天诚信科技股份有限公司 | 一种应用程序调用第三方库动态提升权限的方法及装置 |
CN112363709A (zh) * | 2020-12-11 | 2021-02-12 | 成都商通数治科技有限公司 | 一种Android申请权限并返回申请结果的方法 |
CN113504855A (zh) * | 2021-07-13 | 2021-10-15 | 读书郎教育科技有限公司 | 一种Android应用权限确认的提示和时效控制方法及装置 |
CN113504855B (zh) * | 2021-07-13 | 2023-06-16 | 读书郎教育科技有限公司 | 一种Android应用权限确认的提示和时效控制方法及装置 |
CN113672900A (zh) * | 2021-08-23 | 2021-11-19 | 读书郎教育科技有限公司 | 一种Android终端实现应用权限管控的方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106997433A (zh) | 一种Android系统权限管理方法 | |
CN110310205B (zh) | 一种区块链数据监控方法、装置、设备和介质 | |
CN110363026B (zh) | 文件操作方法、装置、设备、系统及计算机可读存储介质 | |
CN103744686B (zh) | 智能终端中应用安装的控制方法和系统 | |
CN106203113A (zh) | 安卓应用文件的隐私泄露监控方法 | |
CN108763951B (zh) | 一种数据的保护方法及装置 | |
CN101004776A (zh) | 用于基于保护域的安全性的方法和装置 | |
CN104794374A (zh) | 一种用于安卓系统的应用权限管理方法和装置 | |
KR20160098912A (ko) | 어플리케이션 퍼미션 재조정 방법 및 이를 수행하는 사용자 단말 | |
KR20180109919A (ko) | 스마트 카드 응용을 위한 보안 검증 방법 및 디바이스 | |
CN110838195A (zh) | 授权他人开锁的方法 | |
CN111177741A (zh) | 一种基于企业浏览器的预授权数据访问方法和装置 | |
CN106372496A (zh) | 提高支付终端应用安全性的方法及系统 | |
CN114244598B (zh) | 一种内网数据访问控制方法、装置、设备及存储介质 | |
CN110990798B (zh) | 应用程序权限配置方法、装置、电子设备及存储介质 | |
CN113505394A (zh) | 基于大数据的数据安防处理方法及云服务器 | |
CN110704131B (zh) | 一种html5应用调用原生应用的方法和装置 | |
CN110070360B (zh) | 一种事务请求处理方法、装置、设备及存储介质 | |
CN105243311A (zh) | 一种指纹信息的安全调用方法、装置及移动终端 | |
CN110727936B (zh) | 为应用授权的方法和设备 | |
CN113010223A (zh) | 一种基于Android系统的卸载资源定制方法与终端 | |
CN107392010B (zh) | 执行Root操作的方法及装置、终端设备、存储介质 | |
US11769142B2 (en) | Method for providing a digital representation of a transaction card in a mobile device | |
CN104252588A (zh) | 工作区的访问控制的方法和装置 | |
CN112070491A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170801 |
|
RJ01 | Rejection of invention patent application after publication |