之前做的一个程序锁逻辑功能,重新整理了一下,有许多知识点,很不错,值得经常反思学习。
程序锁功能简介:
在app中程序锁界面,罗列app所有已安装app。如果对某个功能加锁,每次打开对应的app就要输入密码,
达到保护隐私的目的。
知识点
在清单文件中增加 gettask权限
新增开关,开启服务、关闭服务
新增service开启看门狗,监视系统运行状态
开启子线程不停循环
activymanager获取到当前应用程序的包名
线程优化,设置flag,开启、暂停线程
子线程休息500ms再开始
新建数据库
service中开启activity,新增flag
密码输入正确之后,发送自定义广播给service
service中注册广播接受者,continue跳出一次循环
返回键处理掉,返回桌面
home键处理掉,finish掉界面
activity启动模式 任务栈 singleinstance,避免界面混乱
效率优化
whiletrue 尽可能优化,效率优化,不频繁创建对象
集合查询到内存,不频繁查询数据库
数据库内容观察者,如果数据库发生变化,及时通知内存
电量优化,监听锁屏、关屏