我目前正在从事计时器项目。基本上,这很简单:用户输入时间,时间用完,用户会收到全屏通知(带有文本视图和声音的简单全屏活动)。所述通知由后台服务调用,以确保即使在用户执行其他操作时也被调用。

现在,一切正常,直到屏幕锁定。我无法尝试解锁任何东西。

最后,我设置了以下标志(在被称为的通知活动内部):

@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);
        ...


但是即使那样,键盘锁也不会禁用,并且不会显示通知。唯一发生的事情就是屏幕打开。

我在这里想念什么吗?

附言:我已经尝试使用唤醒锁了,但是也没有用。

最佳答案

希望您能解决问题,但是为了避免其他情况,请尝试在setContentView()方法之后设置标志,并使用setFlags()方法。

这就是我在应用程序中所做的,并且可以正常工作。

关于android - 以编程方式禁用android非安全键盘锁,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9270743/

10-11 02:23