最近有一个类似锁屏程序的需求,主要技术难点是屏蔽home键返回主界面,查找很多资料都没能解决问题,核心问题是application无法拦截home键返回事件,给出的解决办法大多都是要求修改系统内核代码,在自己快要放弃的时候,看到很多锁屏软件都实现了这一功能,在网上苦苦搜帖,终于找到了解决办法,现将方法总结如下:
1、back
back按键的屏蔽可以通过重写onKeyDown方法拦截,这也是最容易实现的。
2、resentApp(摘自:http://www.cnblogs.com/hitnoah/p/5365336.html)
Step 1
Add this permission to themanifest.xmlfile
Step 2
Put this code in anyActivityon which you want to block/disable the recent apps button
@OverrideprotectedvoidonPause(){super.onPause();ActivityManageractivityManager=(ActivityManager)getApplicationContext().getSystemService(Context.ACTIVITY_SERVICE);activityManager.moveTaskToFront(getTaskId(),0);}
3、home(摘自:http://www.cnblogs.com/u3shadow/p/4639648.html)
解决方法只有这么经典了,我也基于上述帖子中给出的源码修改成一个简单易懂的demo分享给大家(https://github.com/justdorfun/ScreenLockerDemobyFrank.git)