0

我正在尝试禁用屏幕锁定。我希望屏幕在超时后关闭,但在触摸时再次使用我的应用程序。

由于不推荐使用 keywardlock,我在 onCreate() 中尝试了以下操作:

    final Window win = getWindow();
    win.setFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED,
            WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);

以防万一,我在清单中添加了以下内容(需要这样做吗??):

<uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
<uses-permission android:name="android.permission.FLAG_SHOW_WHEN_LOCKED" />

不过,在我通常的超时之后,屏幕被锁定了......

我究竟做错了什么??谢谢!

4

1 回答 1

1

SetFlags采用标志和掩码,您没有以这种方式使用它。最简单的方法是使用辅助方法addFlags我正在使用以下代码。

  Window window = getWindow();
  window.addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);
  window.addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
于 2012-11-20T23:00:41.260 回答