最近在人人上看到一个非常火的锁屏软件,在回答问题正确后才能解锁,而问题是一道复杂的高等数学题,哈哈,让你玩手机,期末复习必备啊!
一时兴起,自己就写了一个类似的Android手机锁屏软件,效果图如下:
大家都知道android系统自带锁屏,我们最主要的就是把这个锁屏修改掉,修改锁屏你可以去修改Android系统的源码,但这个是我们这些应用层开发者鞭长莫及的事。还有一个思路就是把系统自带的锁屏关掉,然后显示自己的程序界面,但要实现锁屏类似的功能,你的窗口一定要是顶级窗口,覆盖掉一切界面,包括状态栏。这就要借助WindowManager去实现了。当接收到ScreenOn的广播时,往WindowManager添加自己的view,当问题回答正确时,移除view。为了提高仿真度,还可以获得当前屏幕的壁纸,将view的背景图片设置为当前壁纸。
但WindowManager.LayoutParams的type值设置为2003时,不仅覆盖掉状态栏,连电话接听界面都会覆盖掉,这是我们不愿看到的,所以注册来电广播,当接收到来电广播时,不显示此锁屏界面。
思路就这样,有兴趣的同学可以自己去实现!
我自己的源码,感兴趣的同学可以参考一下,写的比较随便,还望不要介意!
下载地址:http://download.csdn.net/detail/pzhtpf/4876628