[发明专利]一种Android平台下分级权限管理方法有效
申请号: | 201910263731.8 | 申请日: | 2019-04-03 |
公开(公告)号: | CN109977644B | 公开(公告)日: | 2021-01-01 |
发明(设计)人: | 刘传刚;于治楼;亓慧兴;孙中 | 申请(专利权)人: | 山东超越数控电子股份有限公司 |
主分类号: | G06F21/31 | 分类号: | G06F21/31;G06F21/60;G06F21/62 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 姜鹏 |
地址: | 250000 山东省*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 android 平台 分级 权限 管理 方法 | ||
1.一种Android平台下分级权限管理方法,其特征在于,包括步骤如下:
1)将应用程序中的权限声明从静态的AndroidManifest.mxl文件中加载到系统中形成访问能力;
应用程序在AndroidManifest.xml文件中使用uses-permission标签申请Permission,具体如下:
uses-permission android:name=”string”/,其中string为权限标示或者用户自定义的Permission标示,string是系统中已存在的;
当一个应用程序加载到系统内存形成应用程序包后,应用程序包管理服务PackageManagerService在其成员域mPackages中维护该应用程序包的应用程序包信息;在PackageParser.Package类的成员域mExtras中包含应用程序的设定信息;
2)资源侧对访问能力要求的生成;
2.1)系统资源对访问能力的要求分布在系统API实现中,API在实现过程中调用权限验证API,检查调用系统API的应用程序是否拥有指定的权限;
2.2)AndroidManifest.xml文件包含了应用程序的组件信息,其中android:Permission属性表明了应用程序组件对访问能力的要求;在系统服务PackageManagerService解析应用程序包信息时,提取应用程序的四种组件信息并保存在PackageParser.Package中,每种组件信息都有相应的对象实例;对象实例中对访问者权限能力的要求作为应用程序组件的一个属性,在解析AndroidManifest.xml文件时,保存在对象实例中;其中,四种组件为Activity组件、Service组件、Broadcast Receiver组件和Content Provider组件;
3)资源端的访问控制检查;
对于系统资源和应用程序自身的资源,Android提供相应的访问接口;在访问接口实现过程中实施权限检查;对于Activity组件,当调用Context.startActivity()和Activity.startActivityForResult()时进行权限检查;
对于Service组件,当调用Context.startService()和Context.stopService()和Context.bindSerivce时进行权限检查;
Broadcast Receiver组件设置的权限要求限制只有拥有相应权限的应用程序才能发送广播到Receiver;当Context.sendBroadcast()函数返回时进行权限检查;
Content Provider组件设置的权限要求,限制只有拥有相应权限的应用程序才可以访问Content Provider的数据;如果Content Provider对象既设置了读权限要求又设置了写权限要求,则只拥有写权限的程序无法读取ontentProvider对象;在第一次检索Provider或操作Provider时进行权限检查,如果没有权限则抛出SecurityException异常;在使用ContextResolver.query()函数进行数据读操作时,检查读权限,在使用ContentResolver.insert(),ContentResolver.update(),ContentResolver.delete()函数进行写操作时,检查写权限。
2.根据权利要求1所述的Android平台下分级权限管理方法,其特征在于,所述应用程序包信息用一个PackageParser.Package类的实例保存,包括组成应用程序的组件信息和权限信息。
3.根据权利要求1所述的Android平台下分级权限管理方法,其特征在于,应用程序的设定信息包括应用程序包的签名和申请的权限。
4.根据权利要求1所述的Android平台下分级权限管理方法,其特征在于,API在实现过程中调用权限验证API的具体方式包括,CheckCallingPermission()。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东超越数控电子股份有限公司,未经山东超越数控电子股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910263731.8/1.html,转载请声明来源钻瓜专利网。
- 上一篇:用户认证方法、装置和电子设备
- 下一篇:一种身份识别系统