一种Android终端实现应用管控的方法和装置

文档序号:1963907 发布日期:2021-12-14 浏览:14次 >En<

阅读说明:本技术 一种Android终端实现应用管控的方法和装置 (Method and device for realizing application control of Android terminal ) 是由 娄渊胜 季英会 于 2021-09-18 设计创作,主要内容包括:本发明公开了一种Android终端实现应用管控的方法及装置,通过对系统原有的Package Installer进行二次开发,实现了对应用的管控。本发明在以后优化或者升级过程中只需要发布Package Installer.apk到商城更新就可以了,无需系统升级,无疑减少了开发和维护成本。而对于之前没有应用管控功能的Android终端,本发明的实施仅仅安装一个Package Installer.apk就可以实现应用的管控功能。(The invention discloses a method and a device for realizing application management and control of an Android terminal, which realize application management and control by carrying out secondary development on an original Package lnstaller of a system. The invention only needs to issue the Package Installer. For the Android terminal without the application control function, the application control function can be realized by only installing one Package Installer.)

一种Android终端实现应用管控的方法和装置

技术领域

本发明涉及Android终端技术领域,具体涉及一种Android终端实现应用管控的方法和装置。

背景技术

Android系统的学生平板普遍都具备应用管控功能,由家长通过密码在平板或者手机端实施对应用使用的管控,可以禁止或者允许使用某个应用。

目前市面上的学生平板禁用某个应用的通用做法是在Android的frameworks中的启动Activity的地方通过对要启动应用包名是否在禁用清单中来实现的。

传统方案的实施有效实现了应用的禁止或者允许使用,但是由于此方案是在frameworks中实施,存在一个缺点:该方案太依赖于系统,方案的优化和修改都要发布系统升级才能解决。如果可以通过一个独立的应用就可以实现对应用的管控,无需修改frameworks,会更方便以后的更新迭代。

发明内容

针对现有技术的不足,本发明旨在提供一种Android终端实现应用管控的方法和装置。

为了实现上述目的,本发明采用如下技术方案:

一种Android终端实现应用管控的方法,具体过程如下:

将PackageInstaller的名称由原来的“应用包安装程序”修改为“应用管控”;

PackageInstaller中开发有一个应用管控界面用于显示终端中所有应用的名称,每个应用名称之后均带有一个禁止使用的开关;PackageInstaller维护有一个管控数据库,所述管控数据库用于保存被禁止使用应用的包名和被禁止使用的权限名称,用户可以在应用管控界面通过禁止使用开关对各个应用实施禁止使用或者允许使用的操作;

当某个应用被禁止使用时,PackageInstaller会根据此应用的包名获取此应用所申明的所有权限,把这些权限按照重要程度由高到低进行排序,取得重要程度最高也即最基本的权限,把应用的包名连同最基本的权限名称保存到管控数据库中,同时针对该应用把该最基本的权限设置为禁止使用;如果用户允许某个应用的使用,PackageInstaller就会从管控数据库中移除该应用包名对应的数据项,并针对该应用把该数据项保存的权限名称对应的权限设置为允许;

当用户进入某个被禁止使用的某个应用时,该应用由于没有获得某个基本权限,系统就会启动PackageInstaller中的权限确认框,PackageInstaller在启动权限确认框前,根据系统传进来的应用包名,查询管控数据库是否存在相应的数据项,如果存在,表示此次权限确认框是由于被禁用导致的,此时PackageInstaller会弹出一个应用被禁用的对话框替代权限确认框,用户只能选择退出此应用,无法绕过这个对话框;

当家长在应用管控界面允许某个被禁止使用的应用使用后,由于管控数据库清除了相应的数据项,并且该应用也获取到了某个基本权限,因此下次再进入该应用时就能正常进入。

进一步地,定义所述管控数据库为AppControl(package,permission),其中package为应用的包名,是应用的唯一标识;permission是该应用中被禁止使用的某个基本权限的名称。

进一步地,每次进入PackageInstaller的时候,PackageInstaller通过一次设置灭屏的操作,由家长通过锁屏密码解锁确认家长身份。

本发明提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述方法。

本发明提供一种电子设备,包括处理器和存储器,所述存储器用于存储计算机程序;所述处理器用于执行所述计算机程序时,实现上述方法。

本发明的有益效果在于:本发明充分利用系统的应用权限确认框是在PackageInstaller中实现的特点,仅需要对PackageInstaller进行二次开发就实现了对应用的使用管控,本发明在以后优化或者升级过程中只需要发布PackageInstaller.apk到商城更新就可以了,无需系统升级,无疑减少了开发和维护成本。而对于之前没有应用管控功能的Android终端,本发明的实施仅仅安装一个PackageInstaller.apk就可以实现应用的管控功能。

具体实施方式

以下将对本发明作进一步的描述,需要说明的是,本实施例以本技术方案为前提,给出了详细的实施方式和具体的操作过程,但本发明的保护范围并不限于本实施例。

本实施例提供一种Android终端实现应用管控的方法,是在Android源码自带的PackageInstaller基础上做二次开发得到,具体过程如下:

将PackageInstaller的名称由原来的“应用包安装程序”修改为“应用管控”,方便人们识别并使用。

PackageInstaller中开发有一个应用管控界面用于显示终端中所有应用的名称,每个应用名称之后均带有一个禁止使用的开关。PackageInstaller维护有一个管控数据库,所述管控数据库用于保存被禁止使用应用的包名和被禁止使用的权限名称。本实施例中定义该管控数据库为AppControl(package,permission),其中package为应用的包名,是应用的唯一标识;permission是该应用中被禁止使用的某个基本权限的名称。用户可以在应用管控界面通过禁止使用开关对各个应用实施禁止使用或者允许使用的操作。当某个应用被禁止使用时,PackageInstaller会根据此应用的包名获取此应用所申明的所有权限,把这些权限按照重要程度由高到低进行排序,取得重要程度最高也即最基本的权限(比如对于一个应用,读取设备中的文件就是一个很基本的权限),把应用的包名连同最基本的权限名称保存到管控数据库中,同时针对该应用把该最基本的权限设置为禁止使用(这样的话下次进入此应用就会弹出权限确认框)。同理,如果用户允许某个应用的使用,PackageInstaller就会从管控数据库中移除该应用包名对应的数据项,并针对该应用把该数据项保存的权限名称对应的权限设置为允许。进一步地,为了让PackageInstaller真正受到家长的管控,而不是学生也能操作,每次进入PackageInstaller的时候,PackageInstaller通过一次设置灭屏的操作,由家长通过锁屏密码解锁确认家长身份。

当用户进入某个被禁止使用的某个应用时,该应用由于没有获得某个基本权限,系统就会启动PackageInstaller中的权限确认框,PackageInstaller在启动权限确认框前,根据系统传进来的应用包名,查询管控数据库是否存在相应的数据项,如果存在,表示此次权限确认框是由于被禁用导致的,此时PackageInstaller会弹出一个应用被禁用的对话框替代权限确认框,用户只能选择退出此应用,无法绕过这个对话框。

当家长在应用管控界面允许某个被禁止使用的应用使用后,由于管控数据库清除了相应的数据项,并且该应用也获取到了某个基本权限,因此下次再进入该应用时就能正常进入。

进一步地,开发一个手机端的管控应用,用于实现应用的管控操作,手机端的管控应用与PackageInstaller通过网络相连,手机端的管控应用与PackageInstaller保持管控信息的同步,这样就实现了远程管控应用。

对于本领域的技术人员来说,可以根据以上的技术方案和构思,给出各种相应的改变和变形,而所有的这些改变和变形,都应该包括在本发明权利要求的保护范围之内。

5页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种密码更新方法、装置、设备及存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类