我一直在开发带有锁屏功能的Android,这样,一旦启动了我的LockScreen活动,默认的锁屏幕就应该暂时禁用,直到活动存在为止。
在搜索时,我发现使用FLAG_SHOW_WHEN_LOCKED很容易做到这一点。但是当我添加TYPE_KEYGUARD_DIALOG以禁用HOME按钮时,它就停止工作了。
再次搜索,我得到了一个使用代码的解决方案。
KeyguardManager.KeyguardLock k1;
KeyguardManager km = (KeyguardManager)getSystemService(KEYGUARD_SERVICE);
k1 = km.newKeyguardLock("IN");
k1.disableKeyguard();但不推荐使用KeyguardManager.KeyguardLock类型。
有什么方法可以不使用KeyguardLock来完成这个工作呢?
我的密码-
public void onAttachedToWindow() {
// TODO Auto-generated method stub
this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG | WindowManager.LayoutParams.FLAG_FULLSCREEN);
getWindow().addFlags(
WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON
| WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED
| WindowManager.LayoutParams.FLAG_FULLSCREEN);
super.onAttachedToWindow();
}发布于 2015-02-25 13:17:32
发现我的问题已经不相关了。不可能为Jellybean+手机创建锁定屏幕。所以暂时放弃了这个功能。
理由,
发布于 2015-12-27 10:13:53
如果您仍然需要答案,请尝试FLAG_DISMISS_KEYGUARD,这是KeyguardLock的替代方案,如果不能工作,只需保留KeyguardLock并在@Override之前添加@SuppressWarnings("deprecation")。而且,您并不总是需要使用onAttachedToWindow(),您可以使用this.getWindow().addFlags(WindowManager.LayoutParams.*here flag that you need*),并且在setContentView()之前必须这样做。
https://stackoverflow.com/questions/28544677
复制相似问题