一种新型的智能app控制算法研究

2020-04-14 04:54叶松鑫陈赛军柯捷王旭亿黄漂雄
电脑知识与技术 2020年4期

叶松鑫 陈赛军 柯捷 王旭亿 黄漂雄

摘要:通过定时任务算法与应用程序冻结算法相结合,实现定时冻结手机应用程序,在特定时间解冻手机应用,从而达到智能控制手机应用,利用该算法实现对手机应用的管控,进一步应用于手机应用管理,以达到合理使用手机,摆脱手机依赖。

关键词:应用冻结;应用控制;摆脱手机依赖;算法设计;手机省电

中图分类号:TP311

文献标识码:A

文章编号:1009-3044(2020)04-0270-02

收稿日期:2019-11-02

作者简介:叶松鑫(1998—),男,广东汕头人,佛山科学技术学院电子信息工程学院网络工程专业在读本科生。

有关调查结果显示,90.89%的大学生在参加活动或上课时使用过手机,46.58%的大学生在参加活动或上课时很难集中注意力,经常不由自主地使用手机"。针对大学生上课使用手机.的行为,老师会采取各种应对措施,比如宣传教育、合理引导、及时干预等,但仍有大部分學生把过多的时间花在手机的各种应用软件上、荒废青春,有时候即使意识到自己的行为有可能会害了自己一生,并想做出改变却又总是无法把控好自己。这个时候如果有一款app再加上一些人来帮助自己,管理好我们的手机使用时间,摆脱手机的控制,重获自由。在该学习的时候除了保障我们的必要的通讯通道以及其他学习需要用到的应用的基础上限制我们对手机的使用,以助于我们更快的摆脱手机的诱惑,课上在老师的监控下放下手机认真听讲,再次与学习相拥。立足于此出发点,一种新型的智能app控制算法显得尤其重要。

1 算法设计

1.1 冻结应用简介

冻结应用指将已安装程序冻结起来,程序虽然还在,但是却不能运行和占内存了。处于此状态下的应用相当于没安装,实际上却有安装,通过对应用程序冻结状态的改变实现程序使用权限的控制。线下流行的方法为通过创建packageManager对象和ComponentName对象,并调用packageManager对象的setComponentEnabledSetting方法实现对程序的冻结和解冻。以下为setComponentEnabledetting方法的介绍:

public void setComponentEnabledSetting (Component-

Name componentName,int newState,int flags)

componentName:组件名称

newState:组件新的状态,可以设置三个值,分别是如下:不可用状态:COMPONENT_ENABLED_STATE DISA BLED可用状态:COMPONENT_ENABLED STATE ENABLED默认状态:COMPONENT_ENABLED_STATE_DEFAULTflags:行为标签,值可以是DONT_KILL_APP或者0(0说明杀死包含该组件的app)

1.2 定时任务算法介绍

定时任务算法(闹钟)即为预先设定时间,在设定时间到来之时,执行对应的任务,常用实现方法为使用TimerTask类及Time类下的schedule方法,具体使用案例如下:

TimerTask timerTask=new TimerTask(){

@Override

public void run({

System.out.println("Hello World");

1存放方法体

}

};

Timer timer=new Timert0;//生命Time对象

long delay=0;//设定延时时间

long intevalPeriod=2 * 1000;//设定任务间隔时间

timer schedule(timerTask,delay,intevalPeriod);

//调用schedule方法实现任务定时运行

1.3 定时冻结应用算法实现

将闹钟算法与应用冻结算法相结合,在设定时间内冻结设定应用的使用权,在其他时间解冻应用的使用权。以下为相关实现方法:

1.3.1 算法简要逻辑图

算法简要逻辑图如图1所示。

1.3.2 算法实现

(1)定义应用锁时间设置类LockTime,类中包含以下变量及方法:

* systemTime:创建闹钟时刻的系统时间

* startTime:应用锁开始时间,默认为系统时间+60s

* endTime:应用锁开始时间,默认为系统时间+180s

* showLockTime(方法:显示应用锁时间设置信息

(2)定义应用锁设置类ApplicationTimeLock,类中主要包含以下变量及方法:

* componentName:上锁应用组件名

* setLock()方法:开启定时冻结应用

* setUnlock()方法:开启定时解除冻结

(3)主类实现

*获取需要设置应用锁的应用组件名componentName

*利用LockTime类创建设置冻结时间范围

*使用ApplicationTimeLock类中的setLock)和setUnlock()开启应用时间锁

2 应用前景

2.1 手机省电模式

手机耗电快一直是人们烦恼的问题,将此算法进行二次开发后,开发成为手机省电应用,定时将手机里的自启应用冻结,从而达到手机高效省电效果,进减少手机耗电量,提升手机流畅度。

2.2 手机管控管家

目前国内流行的手机使用管控软件大多数是以闹钟提示为主,在帮助使用者合理管控手机使用,上起到的作用效果不佳,而如若将这种新型的应用控制算法二次开发,开发具有超强管控性的应用控制软件,则在促进人们摆脱手机控制上具有极为重要的应用价值。

3 总结与展望

将已有的闹钟功能和应用冻结功能结合生成定时应用控制功能已研究完毕,但若进一步研究,将此算法二次开发成为手机管控管家需要解决无须获取root权限即可正常实现该功能,并且在防止他人利用该项功能管控他人手机上需要进一步做好安全防范,人们对手机的依赖性越来越大,该项技术在促进人们摆脱手机控制上定会有巨大的价值。

参考文献:

[1]周挥辉,党波涛,蒋永红.手机对当代大学生发展的影响及其对策研究[J].中国青年研究,2011(6):90-92.

[通联编辑:光文玲]