一种权限管理方法及系统的制作方法

文档序号:9667700阅读:443来源:国知局
一种权限管理方法及系统的制作方法
【技术领域】
[0001]本发明涉及一种计算机技术,特别是涉及一种权限管理方法及系统。
【背景技术】
[0002]随着移动互联网的飞速发展,各种手机应用越来越丰富,在应用安装运行的同时,它们就拥有了一些操作手机数据的权限,在丰富我们生活的同时,个人的隐私也随之有可能遭到泄露,在我们不觉察中,大量的应用在抓取着我们在互联网上的消费信息和消费习惯,那如何避免个人的过多信息遭到泄露呢?安卓(Android)系统引入了权限管理机制。这套机制沿用到目前的安卓版本。所谓权限管理,就是能够手动配置某个应用的权限请求,进而防止恶意软件对隐私的操作,防止隐私泄漏。目前安卓默认的权限管理流程是:应用申请的操作会通过具体的某一个Service来完成,在该完成操作的Service中对应用的此次操作权限做检查,进而会通过Binder调用到安卓系统的权限管理服务AppOpsService,由AppOpsService做真正的权限检查。在AppOpsService权限检查过程中,先对申请权限的应用做一些基本的判断和确认,然后新启一个线程来对供用户确权。这种机制呈现一个AlertDialog供用户选择,此时子线程阻塞起来,得到选择结果后通过Handler机制来通知主线程继续执行。这种原生的权限管理机制有其自身弊端,供用户确权的新线程容易阻塞,如果Handler机制的handle方法处理时间过长会造成应用程序无响应,出现ANR(Applicat1n Not Responding,应用程序无响应)异常,带给用户不好的使用感受。
[0003]鉴于此,如何找到一种避免ANR异常的权限管理方案就成了本领域技术人员亟待解决的问题。

【发明内容】

[0004]鉴于以上所述现有技术的缺点,本发明的目的在于提供一种权限管理方法及系统,用于解决现有技术中在Android系统的权限管理机制会导致ANR异常的问题。
[0005]为实现上述目的及其他相关目的,本发明提供一种权限管理方法,应用于Android系统中,所述权限管理方法包括:在权限管理服务中注册回调函数;所述回调函数在回调接口中定义;权限管理服务接收到应用申请时,调用所述回调函数显示所述应用申请的权限相关信息供用户确权;用户确权后将确权结果作为系统通知发送给权限管理服务。
[0006]可选地,所述权限管理服务包括AppOpsService服务。
[0007]可选地,所述回调接口在接口描述文件IAddCal IbackForPermiss1n.aidl中定义。
[0008]可选地,所述回调函数包括一个用户自定义的CheckPermiss1nViewPane类的确权面板对象,所述确权面板对象将所述应用申请的权限相关信息显示。
[0009]可选地,所述系统通知通过调用Android系统的not if i cat 1nManager.Service月艮务发送。
[0010]可选地,所述应用申请的权限相关信息包括申请权限的应用的名字,应用的图标信息,申请的具体权限,申请该权限的具体时间,上一次对该申请的操作的处理记录中的任一种或组合。
[0011]本发明提供一种权限管理系统,应用于Android系统中,所述权限管理系统包括:回调函数注册模块,用于在权限管理服务中注册回调函数,所述回调函数在回调接口中定义;回调函数处理模块,用于当权限管理服务接收到应用申请时,调用所述回调函数显示所述应用申请的权限相关信息供用户确权;确权结果通知模块,用于用户确权后将确权结果作为系统通知发送给权限管理服务。
[0012]可选地,所述权限管理服务包括AppOpsService服务。
[0013]可选地,所述回调接口在接口描述文件IAddCal IbackForPermiss1n.aidl中定义。
[0014]可选地,所述回调函数包括一个用户自定义的CheckPermiss1nViewPane类的确权面板对象,所述确权面板对象将所述应用申请的权限相关信息显示。
[0015]可选地,所述系统通知通过调用Android系统的not if i cat 1nManager.Service月艮务发送。
[0016]可选地,所述应用申请的权限相关信息包括申请权限的应用的名字,应用的图标信息,申请的具体权限,申请该权限的具体时间,上一次对该申请的操作的处理记录中的任一种或组合。
[0017]如上所述,本发明的一种权限管理方法及系统,具有以下有益效果:1,通过回调机制实现权限管理流程,从根本上避免系统在确权时的应用程序无响应异常。2,定制的个性化的确权面板使确权画面更友好。
【附图说明】
[0018]图1显示为本发明的权限管理方法的一实施例的流程示意图。
[0019]图2显示为本发明的权限管理方法的另一实施例的流程示意图。
[0020]图3显示为本发明的权限管理系统的一实施例的模块示意图。
[0021]元件标号说明
[0022]1权限管理系统
[0023]11回调函数注册模块
[0024]12回调函数处理模块
[0025]13 确权结果通知模块
[0026]S1 ?S3 步骤
【具体实施方式】
[0027]以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的【具体实施方式】加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。
[0028]需要说明的是,本实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
[0029]本发明提供一种权限管理方法,应用于Android系统中。所述权限管理方法采用了回调机制来处理用户确权,从而避免了原生的Android系统中通过新建一个线程,采用AlertDialog机制供用户进行确权操作所可能引发的ANR异常问题。在一个实施例中,如图1所示,所述权限管理方法包括:
[0030]步骤S1,在权限管理服务中注册回调函数;所述回调函数在回调接口中定义。所述权限管理服务包括AppOpsService服务。所述回调接口在接口描述文件IAddCallbackForPermiss1n.aidl中定义。在一个实施例中,所述回调函数包括一个用户自定义的CheckPermiss1nViewPane类的确权面板对象,所述确权面板对象将所述应用申请的权限相关信息显示。通过用户自定义,使得显示的View确权面板界面友好,避免了原生Android系统中千遍一律的AlertDialog界面,大大改善了用户的感受。在一个实施例中,通过IAddCal IbackForPermiss1n.aidl文件添加回调接口 ICal IbackForPermiss1n,该接口中的回调方法是onAddPermi s s i onReq。在自定义的Vi ew面板中对回调方法进行实现,同时对AppOpsService服务注册该回调函数,当有权限操作请求时回回调该方法的具体实现。
[0031]步骤S2,权限管理服务接收到应用申请时,调用所述回调函数显示所述应用申请的权限相关信息供用户确权。所述应用申请的权限相关信息包括申请权限的应用的名字,应用的图标信息,申请的具体权限,申请该权限的具体时间,上一次对该申请的操作的处理记录中的任一种或组合。在一个实施例中,所述回调函数包括一个用户自定义的CheckPermiss1nViewPane类的确权面板对象,所述确权面板对象将所述应用申请的权限相关信息显示,呈现用户自己定制的View确权面板供用户操作。用户可以根据所述确权面板中所显示的申请权限的应用的名字,应用的图标信息,申请的具体权限,申请该权限的具体时间,上一次对该申请的操作的处理记录等信息进行确权操作。所述确权面板采用了用户自定义方式,界面友好。
[0032]步骤S3,用户确权后将确权结果作为系统通知发送给权限管理服务。所述系统通知通过调用Android系统的not if i cat 1nManager.Service服务发送。用户做出选择后Android系统会发出权限已确认通知,App0psService服务收到系统通知后,便会将确认结果告诉申请此次操作的相关服务。应用程序根据返回的结果继续执行相关流程。
[0033]在一个实施例中,所述权限管理方法包括:1,添加安卓接口描述文件IAddCal IbackF
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1