android 4.0 屏蔽 home 键实现
分类: Android 2012-05-01 18:14 115 人阅读 评论 (0) 收藏 举报
最近研究锁屏,按照常规的方法,常规方法如下
Java 代码
1. public void onAttachedToWindow()
2. {
3. this .getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
4. super .onAttachedToWindow();
5. }
但是这个方法到了 4.0 的系统上就失效了,按 home 照样会返回桌面。 apktool 了几个锁屏
的软件之后发现其实现方法,即用 WindowManager 的 addview 方法将 view 加到窗口上,
加上的时候将 view 的 layoutparamas 的 type 设为 LayoutParams.TYPE_SYSTEM_ERROR ,
这个值 sdk 的解释为
Java 代码
1. public static final int TYPE_SYSTEM_ERROR
2. Since: API Level 1
3. Window type: internal system error windows, appear on top of everything th
ey can.
如果直接这样用会报错,还要在 AndroidManifest.xml 里面加上权限 <uses-permission
android:name="android.permission.SYSTEM_ALERT_WINDOW"/> ,ok 上完整代码,封
装了一个类,其中 Lock 和 hide 方法实现锁屏和解锁。
Java 代码
1. public class LockLayer {
2. private Activity mActivty;
3. private WindowManager mWindowManager;