CN113568654A - 一种Android系统基于应用画像的精准管控的方法和装置 - Google Patents
一种Android系统基于应用画像的精准管控的方法和装置 Download PDFInfo
- Publication number
- CN113568654A CN113568654A CN202110792000.XA CN202110792000A CN113568654A CN 113568654 A CN113568654 A CN 113568654A CN 202110792000 A CN202110792000 A CN 202110792000A CN 113568654 A CN113568654 A CN 113568654A
- Authority
- CN
- China
- Prior art keywords
- application
- activity
- forbidden
- name
- node
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 25
- 230000000694 effects Effects 0.000 claims description 120
- 230000006870 function Effects 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 claims description 4
- 230000008859 change Effects 0.000 claims description 3
- 238000013479 data entry Methods 0.000 claims description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/0482—Interaction with lists of selectable items, e.g. menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
- G06F9/4451—User profiles; Roaming
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种Android系统基于应用画像的精准管控的方法和装置,通过创建应用管控数据库和管控应用,保存、记录应用及其各个Act i vity的调用关系和禁用信息以及画像,生成直观、细粒度的关系树供用户对应用进行管控,从而为用户精准的管控应用提供了解决方案。
Description
技术领域
本发明涉及Android系统技术领域,具体涉及一种Android系统基于应用画像的精准管控的方法和装置。
背景技术
Android学习平板已经越来越普及了,学习平板普遍具有一个应用管控的功能,家长可以通过平板或者通过与平板绑定的手机管控某个应用的使用,这种管控一般是针对整个应用的。但是有的时候一个很好的学习应用,可能就是因为其中某个界面的广告太多或者有些内容不适合小孩子看,不得不把整个应用禁用掉。因此需要一种细粒度的管控方式,能够管控任意应用的部分界面,从而更好利用各个应用的优势。
发明内容
针对现有技术的不足,本发明旨在提供一种Android系统基于应用画像的精准管控的方法和装置。
为了实现上述目的,本发明采用如下技术方案:
一种Android系统基于应用画像的精准管控的方法,具体过程为:
系统中创建有一个应用管控数据库,数据库中有两张表,其中一张表用于记录应用中各个Activity的调用关系和禁用信息,定义该表的结构为AppControl(package,relations,forbidden),其中,package表示应用的包名,是应用唯一标识;relations表示一个应用内各个Activity之间的调用关系,应用初始安装时relations为null;forbidden表示被禁用Activity名称,如果forbidden等于package,表示整个应用是被禁用的,应用初始安装时forbidden等于package;另一张表定义为Portrait(package,activity,png),其中package表示应用的包名,是应用唯一标识;activity表示Activity名称;png表示activity对应的Activity的界面图片;
在ActivityStarter.java的startActivityLocked()中具有实现应用的管控和完善表AppControl的功能,当startActivityLocked()被调用时,首先根据包名和Activity类名查询表AppControl中的forbidden是否有被禁用的包名或者Activity类名,如果有该包名,需要禁止对该个应用所有Activity的启动,如果有该Activity类名,需要禁止对该Activity的启动;当一个Activity调用同一应用的另一个Activity时,这时首先通过包名查询数据库的AppControl中包名对应的relations里面是否包含了该调用关系,如果已包含不做任何处理,如果没有包含就把该调用关系添加relations中;
在Activity.java的onResume()中具有完善应用的画像的功能,即完善表Portrait,每次onResume()被调用时,通过包名和Activity类名查询Portrait中是否已经存在该Activity的画像,如果有就不做任何处理,如果没有就获取当前Activity的界面图片并转换成png格式的数据流,然后连同包名和Activity类名一起保存到portrait的一个新的数据项的各字段中;
系统中运行有一个管控应用,用于供用户管控应用或者应用的某些Activity;管控应用启动后,先从系统获取所有应用的列表,列表中每项数据包含应用包名和应用名称,然后根据应用包名逐一从AppControl中获取对应的relations和forbidden中的信息,解析relations的信息以确定应用各个Activity的调用关系,得到一个应用的Activity调用关系树,再根据包名和Activity类名从Portrait获取对应每个Activity对应的界面图片;最终,管控应用展示成一个可上下滑动的管控列表,管控列表的每一项是一个应用的Activity调用关系树,根节点为应用名称,每棵树从左向右展开,除根节点外各个节点均表示该应用的Activity,并且都显示成Activity对应的界面图片,每个节点的子节点均表示该节点对应的Activity可以调用的Activity;各个节点显示的时候要结合forbidden中的信息,对已禁用和未禁用Activity的节点做差异化显示并且提供可以动态改变Activity禁用状态的功能按钮。
进一步地,上述方法中,所述Activity调用关系树的每个节点都放置启用和禁用两个按钮,被禁用的节点中的启用按钮正常显示并且可以点击,禁用按钮变灰色并且不可点击,被禁用节点的所有子节点的启用和禁用按钮都是变灰不可点击的,子节点要想启用首先要启用父节点;可用节点的启用按钮变灰并且不可点击,禁用按钮正常显示并且可以点击;当想禁用某个界面时,只需要点击对应节点的禁用按钮,管控应用就会把该节点及其子节点所对应的Activity都添加到AppControl中对应的forbidden项中,下次再启动应用操作时就会生效,当想禁用整个应用,则在根节点处点击禁用按钮,这时管控应用会清空AppControl对应的forbidden原有的内容然后把包名写到forbidden字段中;当想启用某个应用或者应用的某些Activity时,点击启用按钮,管控应用会从对应forbidden中移除相关数据。
进一步地,上述方法中,当有应用更新时,新版的应用中Activity的种类和调用关系可能会发生改变,因此应用更新后需要清除AppControl中的relations项,对应forbidden项如果里面有Activity,需要转成包名保存,另外需要清除Portrait中包名对应的所有数据项。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述方法。
本发明还提供一种电子设备,包括处理器和存储器,所述存储器用于存储计算机程序;所述处理器用于执行所述计算机程序时,实现上述方法。
本发明的有益效果在于:本发明通过创建应用管控数据库和管控应用,保存、记录应用及其各个Activity的调用关系和禁用信息以及画像,生成直观、细粒度的关系树供用户对应用进行管控,从而为用户精准的管控应用提供了解决方案。
具体实施方式
以下将对本发明作进一步的描述,需要说明的是,本实施例以本技术方案为前提,给出了详细的实施方式和具体的操作过程,但本发明的保护范围并不限于本实施例。
本实施例提供一种Android系统基于应用画像的精准管控的方法,具体过程为:
在系统中创建一个应用管控数据库,数据库需要两张表,其中一张表用于记录应用中各个Activity的调用关系和禁用信息,定义该表的结构为AppControl(package,relations,forbidden),其中,package表示应用的包名,是应用唯一标识;relations表示一个应用内各个Activity之间的调用关系,假如一个应用有A、B、C三个Activity,A是主Activity,B、C都是由A启动的,这时的relations表示为“[A,B],[A,C]”,假如B是由A启动的,C是由B启动的,这时的relations表示为“[A,B],[B,C]”,假如一个应用只有一个Activity A,relations为null;forbidden表示被禁用Activity名称,假如一个应用有个A、B、C三个Activity,B和C是禁用的,forbidden的值为“B,C”,这里有个特殊情况,如果forbidden等于package,表示整个应用是被禁用的,应用的画像还未被建立之前,禁用应用时只能针对整个应用,也就是此时forbidden等于package。另一张表定义为Portrait(package,activity,png),其中package表示应用的包名,是应用唯一标识;activity表示Activity名称;png表示activity对应的Activity的界面图片。
在ActivityStarter.java的startActivityLocked()中添加代码用于实现应用的管控和完善表AppControl的功能,当startActivityLocked()被调用时,首先根据包名和Activity类名查询表AppControl中的forbidden是否有被禁用的包名或者Activity类名,如果有该包名,需要禁止对该个应用所有Activity的启动,如果有该Activity类名,需要禁止对该Activity的启动。另外,当一个Activity调用同一应用的另一个Activity时,假如A调用B,这时首先通过包名查询数据库的AppControl中包名对应的relations里面是否包含了该调用关系[A,B],如果已包含不做任何处理,如果没有包含就把该调用关系添加relations中。应用安装初始,其在表AppControl的数据项中包名对应的relations是null,forbidden等于package,这时要想禁用应用只能对整个应用实施禁用,随着应用的使用,relations里面逐渐完善了该应用内各个Activity的调用关系,为将来针对Activity这种细粒度的管控创造了条件。
在Activity.java的onResume()中添加代码用于完善应用的画像,即完善表Portrait,每次onResume()被调用时,通过包名和Activity类名查询Portrait中是否已经存在该Activity的画像,如果有就不做任何处理,如果没有就获取当前Activity的界面图片并转换成png格式的数据流,然后连同包名和Activity类名一起保存到portrait的一个新的数据项的各字段中。
在系统中运行一个管控应用,用于供用户管控应用或者应用的某些Activity,管控应用启动,先从系统获取所有应用的列表,列表中每项数据包含应用包名和应用名称,然后根据应用包名逐一从AppControl中获取对应的relations和forbidden中的信息,解析relations的信息以确定应用各个Activity的调用关系,得到一个应用的Activity调用关系树,再根据包名和Activity类名从Portrait获取对应每个Activity对应的界面图片。最终,管控应用展示成一个可上下滑动的管控列表,管控列表的每一项是一个应用的Activity调用关系树,根节点为应用名称,每棵树从左向右展开,除根节点外各个节点均表示该应用的Activity,并且都显示成Activity对应的界面图片(为了美观,界面图片缩小显示),每个节点的子节点均表示该节点对应的Activity可以调用的Activity;各个节点显示的时候要结合forbidden中的信息,对已禁用和未禁用Activity的节点做差异化显示并且提供可以动态改变Activity禁用状态的功能按钮。
具体来说,所述Activity调用关系树的每个节点(包括根节点)都放置启用和禁用两个按钮,被禁用的节点中的启用按钮正常显示并且可以点击,禁用按钮变灰色并且不可点击,被禁用节点的所有子节点的启用和禁用按钮都是变灰不可点击的,子节点要想启用首先要启用父节点;可用节点的启用按钮变灰并且不可点击,禁用按钮正常显示并且可以点击。这样用户就可以地根据应用的各个Activity的关系树和每个Activity的画像做到可视化的禁用或者启用某个应用中部分界面。当想禁用某个界面时,只需要点击对应节点的禁用按钮,管控应用就会把该节点及其子节点所对应的Activity都添加到AppControl中对应的forbidden项中,下次再启动应用操作时就会生效,当想禁用整个应用,则在根节点处点击禁用按钮,这时管控应用会清空AppControl对应的forbidden原有的内容然后把包名写到forbidden字段中。当想启用某个应用或者应用的某些Activity时,点击启用按钮,管控应用会从对应forbidden中移除相关数据。
在上述方法的实施中,最开始管控应用的管控列表列的每一项都只有应用名称和应用包名,只能实施粗略的应用管控,即对整个应用的禁用或者启用,随着应用的使用,应用的调用关系和应用各个Activity画像就会被获取,管控列表逐步形成完善的Activity调用关系树,用户对应用的管控也由粗粒度过度到细粒度。而且应用画像的展示,让用户对应用的界面架构有个直观的认识,这样更有利于用户对应用实施精准管控。
进一步地,上述方法中,当有应用更新时,新版的应用中Activity的种类和调用关系可能会发生改变,因此应用更新后需要清除AppControl中的relations项,对应forbidden项如果里面有Activity,需要转成包名保存,另外需要清除Portrait中包名对应的所有数据项。
对于本领域的技术人员来说,可以根据以上的技术方案和构思,给出各种相应的改变和变形,而所有的这些改变和变形,都应该包括在本发明权利要求的保护范围之内。
Claims (5)
1.一种Android系统基于应用画像的精准管控的方法,其特征在于,具体过程为:
系统中创建有一个应用管控数据库,数据库中有两张表,其中一张表用于记录应用中各个Activity的调用关系和禁用信息,定义该表的结构为AppControl(package,relations,forbidden),其中,package表示应用的包名,是应用唯一标识;relations表示一个应用内各个Activity之间的调用关系,应用初始安装时relations为null;forbidden表示被禁用Activity名称,如果forbidden等于package,表示整个应用是被禁用的,应用初始安装时forbidden等于package;另一张表定义为Portrait(package,activity,png),其中package表示应用的包名,是应用唯一标识;activity表示Activity名称;png表示activity对应的Activity的界面图片;
在ActivityStarter.java的startActivityLocked()中具有实现应用的管控和完善表AppControl的功能,当startActivityLocked()被调用时,首先根据包名和Activity类名查询表AppControl中的forbidden是否有被禁用的包名或者Activity类名,如果有该包名,需要禁止对该个应用所有Activity的启动,如果有该Activity类名,需要禁止对该Activity的启动;当一个Activity调用同一应用的另一个Activity时,这时首先通过包名查询数据库的AppControl中包名对应的relations里面是否包含了该调用关系,如果已包含不做任何处理,如果没有包含就把该调用关系添加relations中;
在Activity.java的onResume()中具有完善应用的画像的功能,即完善表Portrait,每次onResume()被调用时,通过包名和Activity类名查询Portrait中是否已经存在该Activity的画像,如果有就不做任何处理,如果没有就获取当前Activity的界面图片并转换成png格式的数据流,然后连同包名和Activity类名一起保存到portrait的一个新的数据项的各字段中;
系统中运行有一个管控应用,用于供用户管控应用或者应用的某些Activity;管控应用启动后,先从系统获取所有应用的列表,列表中每项数据包含应用包名和应用名称,然后根据应用包名逐一从AppControl中获取对应的relations和forbidden中的信息,解析relations的信息以确定应用各个Activity的调用关系,得到一个应用的Activity调用关系树,再根据包名和Activity类名从Portrait获取对应每个Activity对应的界面图片;最终,管控应用展示成一个可上下滑动的管控列表,管控列表的每一项是一个应用的Activity调用关系树,根节点为应用名称,每棵树从左向右展开,除根节点外各个节点均表示该应用的Activity,并且都显示成Activity对应的界面图片,每个节点的子节点均表示该节点对应的Activity可以调用的Activity;各个节点显示的时候要结合forbidden中的信息,对已禁用和未禁用Activity的节点做差异化显示并且提供可以动态改变Activity禁用状态的功能按钮。
2.根据权利要求1所述的方法,其特征在于,所述Activity调用关系树的每个节点都放置启用和禁用两个按钮,被禁用的节点中的启用按钮正常显示并且可以点击,禁用按钮变灰色并且不可点击,被禁用节点的所有子节点的启用和禁用按钮都是变灰不可点击的,子节点要想启用首先要启用父节点;可用节点的启用按钮变灰并且不可点击,禁用按钮正常显示并且可以点击;当想禁用某个界面时,只需要点击对应节点的禁用按钮,管控应用就会把该节点及其子节点所对应的Activity都添加到AppControl中对应的forbidden项中,下次再启动应用操作时就会生效,当想禁用整个应用,则在根节点处点击禁用按钮,这时管控应用会清空AppControl对应的forbidden原有的内容然后把包名写到forbidden字段中;当想启用某个应用或者应用的某些Activity时,点击启用按钮,管控应用会从对应forbidden中移除相关数据。
3.根据权利要求1所述的方法,其特征在于,当有应用更新时,新版的应用中Activity的种类和调用关系可能会发生改变,因此应用更新后需要清除AppControl中的relations项,对应forbidden项如果里面有Activity,需要转成包名保存,另外需要清除Portrait中包名对应的所有数据项。
4.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-3任一所述的方法。
5.一种电子设备,其特征在于,包括处理器和存储器,所述存储器用于存储计算机程序;所述处理器用于执行所述计算机程序时,实现权利要求1-3任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110792000.XA CN113568654B (zh) | 2021-07-13 | 2021-07-13 | 一种Android系统基于应用画像的精准管控的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110792000.XA CN113568654B (zh) | 2021-07-13 | 2021-07-13 | 一种Android系统基于应用画像的精准管控的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113568654A true CN113568654A (zh) | 2021-10-29 |
CN113568654B CN113568654B (zh) | 2023-05-26 |
Family
ID=78164716
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110792000.XA Active CN113568654B (zh) | 2021-07-13 | 2021-07-13 | 一种Android系统基于应用画像的精准管控的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113568654B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109657455A (zh) * | 2018-12-25 | 2019-04-19 | 深圳创维数字技术有限公司 | 应用实时切换方法、设备、存储介质及装置 |
CN110263033A (zh) * | 2019-05-14 | 2019-09-20 | 广州接点智能科技有限公司 | 管控对象画像生成方法、终端设备及介质 |
CN110515901A (zh) * | 2019-08-23 | 2019-11-29 | 掌阅科技股份有限公司 | 信息推送方法、计算设备及计算机存储介质 |
-
2021
- 2021-07-13 CN CN202110792000.XA patent/CN113568654B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109657455A (zh) * | 2018-12-25 | 2019-04-19 | 深圳创维数字技术有限公司 | 应用实时切换方法、设备、存储介质及装置 |
CN110263033A (zh) * | 2019-05-14 | 2019-09-20 | 广州接点智能科技有限公司 | 管控对象画像生成方法、终端设备及介质 |
CN110515901A (zh) * | 2019-08-23 | 2019-11-29 | 掌阅科技股份有限公司 | 信息推送方法、计算设备及计算机存储介质 |
Non-Patent Citations (1)
Title |
---|
施明毅;杨光莹;杜敏;张家乐;韩秋;陈梓贤;: "基于校园行为大数据分析的学生画像系统构建探析", 中国多媒体与网络教学学报(上旬刊) * |
Also Published As
Publication number | Publication date |
---|---|
CN113568654B (zh) | 2023-05-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20030085924A1 (en) | Method and system for displaying categorized information on a user interface | |
CN103106266B (zh) | 基于安卓系统的文件夹管理和显示方法及移动终端 | |
US20070089071A1 (en) | Software mechanism for providing distinct types of time dependent event objects for display in a graphical user interface | |
CN107404428B (zh) | 一种基于聊天群的服务方法、装置以及电子设备 | |
CA2398148C (en) | System and method for managing bi-directional relationships between objects | |
CN106569783A (zh) | 一种执行任务脚本的方法和装置 | |
CN104346367B (zh) | 一种数据集成的方法和装置 | |
CN117896461A (zh) | 一种日程处理方法及电子设备 | |
CN106648869A (zh) | 一种智能终端应用切换方法 | |
US20120185794A1 (en) | Method and Apparatus for Managing Buttons on Taskbar | |
CN109885573A (zh) | 一种数据存储系统的维护方法、装置和移动终端 | |
WO2024113740A1 (zh) | 数据查询方法、系统、设备及计算机可读存储介质 | |
CN106874326A (zh) | 一种条目列表获取请求处理方法及装置 | |
CN108509188B (zh) | 一种列表的建立方法、装置及电子设备 | |
CN115858552A (zh) | 数据查询方法、装置、设备及存储介质 | |
CN113568654A (zh) | 一种Android系统基于应用画像的精准管控的方法和装置 | |
CN107368360B (zh) | 一种定时任务执行方法及定时任务服务器 | |
CN113241097A (zh) | 录音方法、装置、电子设备和可读存储介质 | |
CN113157377B (zh) | 一种Android系统实现对应用部分管控的方法及设备 | |
CN112965760A (zh) | 修改根目录的方法、装置、电子设备和可读存储介质 | |
CN114047855B (zh) | 一种表单编辑方法、装置及终端设备 | |
US7376397B2 (en) | Key setting methods | |
CN106372121B (zh) | 服务器及数据处理方法 | |
CN111813303B (zh) | 文本处理方法、装置、电子设备及可读存储介质 | |
CN112541780A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |