java - 以编程方式将锁屏设置为 "None"?

标签 java android lockscreen

我有禁用锁屏并将锁屏类型设置为“无”的需求。我的设备已获得 root 权限(可以在 SU 权限下运行)+ 可以作为具有系统权限的系统应用程序运行(在/system/app 下)。

我尝试了一些方法都无济于事。

尝试 1

这似乎已被弃用并且不起作用。

KeyguardManager manager = (KeyguardManager) this.getSystemService(KEYGUARD_SERVICE);
KeyguardLock lock = manager.newKeyguardLock("abc");
lock.disableKeyguard(); 

尝试 2

这也没有用。

  1. 将系统分区挂载为可写
  2. 编辑/data/data/com.android.providers.settings/databases/settings.db
  3. 执行以下 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/

相关文章:

android - 从 SQLite 数据库中获取单行并将值保存到单个变量中并将它们显示到不同的 TextView 中

windows-phone-7 - 在应用启动时处理来电崩溃

java - 尝试将对象添加到数组列表时出现空错误(简单的代码段)

java - OpenCV Android 相机捕获

java - 如何使用项目符号显示为输出?

ios4 - 来自锁屏iphone时在didreceivelocalnotification上重绘GUI

android - 即使锁定屏幕也可以连续播放声音

java - 将文本编辑器添加到 swt 列表小部件

java - 如何在 Java 中检查 IP 地址与运行应用程序的服务器是否匹配

java - ISO-8859-1、UTF-8 和西类牙语口音