在系统build.prop中添加以下属性
ro.lockscreen.disable.default=true
frameworks/base/core/java/com/android/internal/widget/LockSettingsService.java
class DatabaseHelper extends SQLiteOpenHelper {
private static final String TAG = "LockSettingsDB";
private static final String DATABASE_NAME = "locksettings.db";
private static final int DATABASE_VERSION = 1;
public DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
setWriteAheadLoggingEnabled(true);
}
private void createTable(SQLiteDatabase db) {
db.execSQL("CREATE TABLE " + TABLE + " (" +
"_id INTEGER PRIMARY KEY AUTOINCREMENT," +
COLUMN_KEY + " TEXT," +
COLUMN_USERID + " INTEGER," +
COLUMN_VALUE + " TEXT" +
");");
}
@Override
public void onCreate(SQLiteDatabase db) {
createTable(db);
initializeDefaults(db);
}
private void initializeDefaults(SQLiteDatabase db) {
// Get the lockscreen default from a system property, if available
boolean lockScreenDisable = SystemProperties.getBoolean("ro.lockscreen.disable.default",
false);//在这里会去读默认值
if (lockScreenDisable) {
writeToDb(db, LockPatternUtils.DISABLE_LOCKSCREEN_KEY, "1", 0);
}
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int currentVersion) {
// Nothing yet
}
}
android 4.1修改:
frameworks/base/packages/SettingsProvider/res
/values/defaults.xml
<bool name="def_lockscreen_disabled">true</bool>

本文介绍如何通过修改系统属性及数据库设置来实现Android设备锁屏功能的默认禁用。通过在build.prop文件中添加特定属性,并在LockSettingsService中进行数据库初始化设置,可以改变锁屏的默认状态。
4971

被折叠的 条评论
为什么被折叠?



