位置: 编程技术 - 正文
推荐整理分享[安卓]手机管家(十九)软件管理之软件锁(安卓手机管家哪个好用),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:安卓手机管家是什么,安卓手机管家怎么关闭,安卓手机管家在哪里打开,安卓手机管家是什么,安卓手机管家如何卸载,安卓手机管家,安卓手机管家是什么,安卓手机管家,内容如对您有帮助,希望把文章链接给更多的朋友!
要对已经安装的APP加锁,也就说不能改动这个APP
而要实现这个功能,可以偷巧,在要启动的APP即将启动之前,进入加锁的activity
经典的功能watchdog,看看用户触动了哪个功能,很多软件里都有,尤其是安全软件
不能写在activity里,生命周期的问题,需要启动一个service,在后台监听
manifest注册
在main里启用启动后时时刻监视哪个程序被启用service里一般不能用while(true)来判断,这样很容易阻塞,应该在外面加一个thread
由于要动态监测系统的服务,这里需要权限
这里要获得当前被启动的APP,这就需要任务栈,要任务栈就需要activity管理器
任务栈里面按照执行顺序存放着activity,当你拿一个时,就是当前的activity
如何知道哪一个被我们加锁的的程序被启动呢?以短信为例判断一下
注意,由于是service跳转到activity,需要设置一个flag,activity间的跳转不需要
跳转成功后,在watchdog的activity上可以加上一些东西,输入密码解锁现在有个问题,跳到watchdog后,退回,又会跳回来
需要在main里加一个onBackPressed
让用户选择,在setting里加入一条自定义控件
声明找到初始化调用这个过程中,manifest里加上了权限、activity、service现在来完善上锁 判断的时候应该获取包名,看他是不是加锁了,没加锁就锁上,锁了就不动
需要在软件管理的list里面操作下
长按加锁、解锁
item_appmanager_appinfo里加一个imageview
APPmanageractivity里加上OnItemLongClickListener也是通过position获得APPinformation现在实现的功能是长按换图标
我们要把 应用 上锁状态改变的情况放到数据库,应用名,上锁情况
openhelper
dao接口APPmanageractivity里初始化dao注意不能给自己加锁
回显问题首先 holder复用其次 默认未上锁,要查询是否上锁来完成跳转后的判断上锁问题
要根据数据库中的状态来判断是否要上锁
完善用户体验跳转后显示之前的软件名和图标
watchdog的activity里要获取到包名,由于是从service里跳过来的,要在service里塞一个
button响应OK,有几个bug
进入MobilphoneManager的软件管理,然后点击home
这时候他去了后台,没有清空,这时候任务栈里有两个activity,下面是home,上面是软件管理
现在点一个APP,这时应该跳转到看门狗,也就是在之前的任务栈里又加了一个,这时候填密码点击,等于是把自己,看门狗销毁了
这时候回显的是之前的两个activity,点击两次退回才能看到被点击的APP
要解决这个问题,我们最好能单独给看门狗起一个任务栈
在manifest里给看门狗声明的部分加一个launchmode:singleInstance
另一个问题,解锁后循环加锁解锁这时候解完锁要设置一个标记,而不是直接销毁
C 什么的设置一个全局变量就好
这里考虑activity发一个广播 service里来一个接收者
接收者动态注册这时候一解锁就发消息,此时就可以判断先接收
判断之另一个bug
对某APP加锁密码输入不对,直接按home键出来了,然后再进一个app,发现图标和名称不对,显示的是前一个APP
还是任务栈和生命周期的问题,按home键后,先onpause,然后onstop,看不见了,然后进去,直接onrestart,onresume,没有oncreate,图标不会更新
把相关代码放到onresume里,或者在onstop里干掉自己,一下次就会oncreate
watchdogactivity
优化,查询数据库很耗时,将查询结果放在内存录,弄一个list的数据结构,list放在内存里,查了一次后就放进去了
要去dao里做添加一个查询list
去service初始化
节省了时间,有可能会内存不够用,其实还可以优化什么比特。。然后在判断的时候,进这个list
OK,现在又出现一个bug
给几个APP加锁后退出,再随便点击别的某个APP,发现不会跳转
因为list被固定了,和数据库不同步
需要数据库的一个内容观察者,在数据库发生变化时通知下
需要一个getcontext
service里需要一个观察者,发生变化时则重新查一下数据库
要注册下,发生变化,则调用上面的onchange重新查
至此核心功能都已经实现,还可以继续做的主要就是密码的问题,保存啊,是否设置同一个密码啊等等
版权声明:本文为博主原创文章,未经博主允许不得转载。
菜鸟的安卓实习之路---如退出应用程序 如何正确的退出应用程序?1最初的方案,是建立一个activity的栈,每当有一个新的activityonCreate()的时候,就把他加入到这个栈中,在希望退出的时候
[置顶] WebView加载完成与显示完成的区别 转载请加地址:
Android Studio学习配置-SDK Manger镜像源设置,不用翻墙也能飞速下载sdk SDKManager镜像源设置Tools-ManagerAdd-onSites...首先把谷歌默认源全部取消选择每个源都New进去
标签: 安卓手机管家哪个好用
本文链接地址:https://www.jiuchutong.com/biancheng/382147.html 转载请保留说明!友情链接: 武汉网站建设