以编程方式禁用android非安全密钥

时间:2012-02-14 02:03:51

标签: android

我目前正在研究一个计时器项目。基本上,它相当简单:用户输入时间,时间用完,用户获得全屏通知(带有textview和声音的简单全屏活动)。所述通知由后台服务调用,以确保即使在用户正在做其他事情时也会调用它。

现在,一切都运行良好,直到屏幕锁定。我无法解决任何问题。

最后,我设置了以下标志(在通知活动中,正在调用):

@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 个答案:

答案 0 :(得分:1)

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

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