2012-02-14 74 views
2

我目前正在制定计时器项目。基本上,它很简单:用户输入时间,时间用完,用户获得全屏通知(带有文本视图和声音的简单全屏活动)。所述通知由后台服务调用,以确保即使在用户做其他事情时也调用该通知。以编程方式禁用android非安全键盘锁

现在,一切都运行完美,直到屏幕锁定。我无法解开任何我尝试的东西。

最后,我设置下列标志(该通知的活动,这是被称为内):

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.timer); 
    this.getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED); 
    this.getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD); 
    this.getWindow().addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON); 
     ... 

但即使这一说法,键盘锁将不会禁用和通知将不会显示。唯一发生的事情是屏幕打开。

我在这里错过了什么吗?

P.S .:我已经尝试使用唤醒锁,这也没有工作。

回答

1

希望你解决了你的答案,但为了其他可能遇到你的情况,尝试在setContentView()方法之后设置标志,并使用setFlags()方法。

这就是我在我的应用程序中所做的工作。