Android变相拦截Home键,使app一直运行在前端

首先,声明一下楼主不是流氓程序猿,也很痛恨流氓软件。主要是媳妇最近要考试,想让我写个程序把她手机锁一段时间,让她安心看书。。。好吧主观能动性太差的表现==。于是楼主就琢磨起来怎么能够实现这样的需求。

首先返回键和菜单键就不赘述了,网上有很多例子可以拦截。但是home键是受系统保护的,安卓版本低的时候还可以糊弄一下,但现在安卓9.0了想实现起来真不太现实,那就曲线救国吧。

想法是在onPause方法里面重新启动我们的Activity,每次调用,我们都重新回到自己的页面。测试发现有一个问题,按Home键退出后,需要等到3-5s左右的时间才能回到Activity。网上百度了一圈,上图

启动方法替换掉之后,能够迅速调用,基本实现了想要的需求。

因为楼主在页面里面实现了一个计时器的功能,所以把launchMode设置成了SingleInstance,这样就不会每次都启动一个新的app,计数时间保留,到一定时间app会自行退出。

最后总结:想要阻拦home键还是很流氓的。以上方法测试发现快速按home键还是能够重新回到桌面来杀掉app进程的,可能还需要一个service去轮询判断app是否在前端运行。有相似需求的老铁们还是想着跟那些产品设计刚一波正面吧,毕竟这样的需求太反人类了!

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值