如何以编程方式解锁 root 设备上的屏幕?

How do I programatically unlock screen on rooted device?

我想在笔记本靠近时在我的应用程序中禁用屏幕储物柜(即使它已锁定)或将其更改为一些简单的锁,例如滑动解锁,这样我就不必写我的 12 - 每次我想阅读通知时的 PIN 码。

我知道如何检测同一网络中的笔记本电脑(它不安全,但默默无闻的安全性对我来说已经足够了),但除了在非 root 设备上不可能,我找不到其他任何东西。有一个系统应用程序负责设置锁屏,所以它必须是可能的。

我 运行 Android 4.4.

这应该有效:

PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK
        | PowerManager.ACQUIRE_CAUSES_WAKEUP
        | PowerManager.ON_AFTER_RELEASE, "INFO");
wl.acquire();

KeyguardManager km = (KeyguardManager) context.getSystemService(Context.KEYGUARD_SERVICE);
KeyguardLock kl = km.newKeyguardLock("name");
kl.disableKeyguard();