我有禁用锁屏并将锁屏类型设置为“无”的需求。我的设备已获得 root 权限(可以在 SU 权限下运行)+ 可以作为具有系统权限的系统应用程序运行(在/system/app 下)。
我尝试了一些方法都无济于事。
尝试 1
这似乎已被弃用并且不起作用。
KeyguardManager manager = (KeyguardManager) this.getSystemService(KEYGUARD_SERVICE);
KeyguardLock lock = manager.newKeyguardLock("abc");
lock.disableKeyguard();
尝试 2
这也没有用。
- 将系统分区挂载为可写
- 编辑
/data/data/com.android.providers.settings/databases/settings.db
执行以下 SQL。
INSERT OR REPLACE INTO system (name, value) VALUES ('lockscreen.disabled', '1');
INSERT OR REPLACE INTO secure (name, value) VALUES ('lockscreen.disabled', '1');
尝试 3
重启机器还是不行。
android.provider.Settings.Secure.putLong(mContentResolver, Settings.Secure.LOCK_PATTERN_ENABLED, false);`
android.provider.Settings.Secure.putLong(mContentResolver, "lockscreen.password_type", DevicePolicyManager.PASSWORD_QUALITY_SOMETHING);`
android.provider.Settings.Secure.putLong(mContentResolver, "lockscreen.password_type_alternate", DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED);
android.provider.Settings.Secure.putLong(mContentResolver, "lockscreen.disabled", true);
还有什么我可以尝试的吗?
请注意,我不想仅在应用程序运行时禁用键盘锁。
最佳答案
你可以试试这个:
adb shell sqlite3 /data/system/locksettings.db "UPDATE locksettings SET value = '1' WHERE name = 'lockscreen.disabled'"
adb shell sqlite3 /data/system/locksettings.db "UPDATE locksettings SET value = '0' WHERE name = 'lockscreen.password_type'"
adb shell sqlite3 /data/system/locksettings.db "UPDATE locksettings SET value = '0' WHERE name = 'lockscreen.password_type_alternate'"
它适用于我已获得 root 权限的 Nexus 4。
关于java - 以编程方式将锁屏设置为 "None"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22142940/