【问题标题】:Android lock screen show again after it has been disabled (using lock.disableKeyguard())Android 锁屏在被禁用后再次显示(使用 lock.disableKeyguard())
【发布时间】:2012-06-05 07:46:27
【问题描述】:

嘿,我正在编写一个启动器,我在其中构建了我自己的自定义锁屏。

自定义锁屏是一项随时启动的活动 屏幕关闭(通过收听 Intent.ACTION_SCREEN_OFF)

要禁用 android 的锁屏,我使用以下代码:

KeyguardManager keyguardManager = (KeyguardManager) getSystemService(KEYGUARD_SERVICE);
KeyguardLock lock = keyguardManager.newKeyguardLock(KEYGUARD_SERVICE);
lock.disableKeyguard();

这一切都很好,直到某个时候,android的锁屏是 再次打开(就像以前从未禁用过一样)。

这在三星 Galaxy 2 上经常发生(但也发生在其他手机上)。

我做错了什么?

谢谢!

【问题讨论】:

    标签: android android-activity android-intent lockscreen wakelock


    【解决方案1】:

    您是否启用了 DevicePolicyMangnager?否则,该功能将不起作用。

    这来自documentation

    注意:启用任何 DevicePolicyManager 时,此调用无效 这需要密码。

    here 是一个关于它的教程。无论如何,我认为这不是您要寻找的原因,因为无论何时您的应用程序都会这样做,用户必须提供密码才能授予您管理员权限。

    一般来说,没有办法以编程方式禁用 KeyGuard(如果是安全的 pin、密码、图案、面部),您最多只能在其上显示一个活动。

    【讨论】:

      【解决方案2】:

      设法通过调用以某种方式解决它

       KeyguardManager keyguardManager = (KeyguardManager) getSystemService(KEYGUARD_SERVICE);
       KeyguardLock lock = keyguardManager.newKeyguardLock(KEYGUARD_SERVICE);
       lock.disableKeyguard();
      

      就在我开始锁屏活动之前

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-11-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-02-06
        相关资源
        最近更新 更多