如何以编程方式禁用解锁屏幕

Posted

技术标签:

【中文标题】如何以编程方式禁用解锁屏幕【英文标题】:How to disable unlocking screen programmatically 【发布时间】:2011-11-29 20:59:23 【问题描述】:
    当用户离开指定的 WiFi 区域时,我需要锁定 android 手机 我需要防止用户在指定的 WiFi 区域外时解锁手机 当用户回到 WiFi 区域时,我需要解锁手机

我猜列表项 1 和 3 可以通过编程方式完成。

第2nd项可以做吗?

【问题讨论】:

+1,有趣的问题。 (不过我不会将这些数字标记为内联代码,它看起来很奇怪) 【参考方案1】:

可以使用此方法进行锁定:How to lock the screen of an android device 解锁看这里:How to display Activity when the screen is locked?

对于您的问题 2,我看到了 2 个解决方案

一个。如果用户解锁屏幕,则会触发一条消息:此时检查您是否在该区域,如果不在,请立即再次锁定

b.创建自己的锁,无法解锁自己

【讨论】:

【参考方案2】:

我需要防止用户在指定的 WiFi 区域外时解锁手机

幸运的是,出于明显的安全原因,这不受支持。

欢迎您创建自己的主屏幕,在指定区域内外提供不同的行为,并使用它来代替试图阻止手机被解锁。但是,欢迎用户通过将设备启动到安全模式并卸载您的应用来移除该主屏幕。

【讨论】:

【参考方案3】:

我过去做过类似的事情,但现在没有代码,所以在这方面无能为力。我所做的是将应用程序实现为车载底座,除非禁用车载底座模式,否则将使主页按钮覆盖。我希望这会有所帮助,对于代码谷歌它你肯定会找到资源

【讨论】:

【参考方案4】:

我想这会对你有所帮助。这仅适用于DisablingProgrammatically.Disable Screen Lock

【讨论】:

【参考方案5】:
private Window w;

public void onResume()

    w = this.getWindow();
    w.addFlags(LayoutParams.FLAG_DISMISS_KEYGUARD);
    w.addFlags(LayoutParams.FLAG_SHOW_WHEN_LOCKED);
    w.addFlags(LayoutParams.FLAG_TURN_SCREEN_ON);
    super.onResume();       
    tToast("onResume");

【讨论】:

以上是关于如何以编程方式禁用解锁屏幕的主要内容,如果未能解决你的问题,请参考以下文章

以编程方式将锁屏设置为“无”?

如何在 Android SDK 26 或更高版本上以编程方式重置锁屏密码

为啥我没设置任何锁屏,PIN码,安卓就显示手机已加密了

ios监听锁屏解锁如何实现,需要调用啥方法?

如何以编程方式关闭/禁用 iOS 11 中引入的屏幕截图弹出框?

自定义锁屏实现技术