[发明专利]一种特权功能调用方法和系统有效
| 申请号: | 201911013623.1 | 申请日: | 2019-10-23 |
| 公开(公告)号: | CN110941812B | 公开(公告)日: | 2022-07-12 |
| 发明(设计)人: | 刘显珂 | 申请(专利权)人: | 天津智融创新科技发展有限公司 |
| 主分类号: | G06F21/44 | 分类号: | G06F21/44 |
| 代理公司: | 北京华专卓海知识产权代理事务所(普通合伙) 11664 | 代理人: | 彭锐;王一 |
| 地址: | 300453 天津市滨海新*** | 国省代码: | 天津;12 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 特权 功能 调用 方法 系统 | ||
本发明提供了一种特权功能调用方法和系统。所述方法包括:客户应用在运行时获取AgentService服务;向所述AgentService服务发送特权功能调用请求;所述AgentService服务向SettingsProvider中转所述特权功能调用请求;所述SettingsProvider执行所述特权功能。本发明实现了普通应用对特权功能的调用,降低应用功能出现故障的可能性,且能够在应用运行阶段灵活地授权和管理特权功能调用的权限。
技术领域
本发明涉及安卓软件开发技术领域,特别地,涉及一种特权功能调用方法和系统。
背景技术
安卓(Android)系统是广泛应用于手机、电视、机顶盒等设备的操作系统。在安卓系统中,应用软件通常在编译的时候就确定能否调用特权功能,具有调用特权功能的特权应用具有“sharedUserId=system”,可以修改系统的设置项、无界面安装其它应用等,而普通应用不具有“sharedUserId=system”,不能够进行这些特权功能调用操作。因此,应用软件的特权功能调用权限只能在编译时设定,而无法根据软件使用过程中的实际情况进行调整。而且,具有sharedUserId=system的预装应用在运行时,进程的uid将为1000,其它同sharedUserId的进程也都会是1000,也即会出现多个uid=1000的应用进程存在,然而例如AudioConfig的某些功能是以uid的值为关键字,由此导致该功能就不能对应特定的App,导致应用运行失败。
发明内容
本发明旨在提出一种特权功能调用方案,借助AgentService实现了应用的特权功能调用,至少解决了现有技术或相关技术中存在的技术问题之一。
为此,根据本发明的第一方面,提供了一种特权功能调用方法,包括:
客户应用在运行时获取AgentService服务;
向所述AgentService服务发送特权功能调用请求;
所述AgentService服务向SettingsProvider中转所述特权功能调用请求;
所述SettingsProvider执行所述特权功能。
进一步地,在Android系统启动过程中启动所述AgentService服务,并将其注册为系统服务。
进一步地,所述客户应用通过ServiceManager.getService获取所述AgentService服务。
进一步地,所述客户应用通过AIDL接口向所述AgentService服务发送特权功能调用请求。
进一步地,所述AgentService服务向SettingsProvider中转所述特权功能调用请求包括:
所述AgentService服务检查客户应用的权限,如检查通过,则向所述SettingsProvider发送所述调用请求。
进一步地,所述SettingsProvider完成所述特权功能包括:
所述SettingsProvider检查所述AgentService服务的权限,如检查通过,则执行所述特权功能。
进一步地,所述AgentService服务检查客户应用的权限包括:
检查所述客户应用是否是预装应用和/或所述客户应用的Permission属性是否满足。
根据本发明的第二方面,提供了一种特权功能调用系统,包括:
第一单元,用于提供客户应用,在运行时获取AgentService服务,向所述AgentService服务发送特权功能调用请求;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于天津智融创新科技发展有限公司,未经天津智融创新科技发展有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911013623.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:呼吸传感器灵敏度校准方法
- 下一篇:一种高防污纳米水性涂料、制备方法及设备





