原因是开机向导过程中意外关机导致 Settings.Global.DEVICE_PROVISIONED 这个值没有写入到数据库中
M:frameworks/base/services/core/java/com/android/server/pm/PackageManagerService.java文件中的setEnabledSetting方法中
try {
if(packageName.equals("com.google.android.setupwizard") && !(newState == COMPONENT_ENABLED_STATE_ENABLED||newState == COMPONENT_ENABLED_STATE_DEFAULT)) {
if (android.provider.Settings.Global.getInt(mContext.getContentResolver(),android.provider.Settings.Global.DEVICE_PROVISIONED, 0) == 0) {
android.provider.Settings.Global.putInt(mContext.getContentResolver(), android.provider.Settings.Global.DEVICE_PROVISIONED, 1);
}
}
} catch (Exception e) {
e.printStackTrace();
}
临时验证方法
adb shell settings put global device_provisioned 0
adb shell settings get global device_provisioned

本文详细解析了在开机向导过程中因意外关机导致Settings.Global.DEVICE_PROVISIONED值未正确写入数据库的问题,并提供了一种临时验证方法,通过ADB shell命令设置和检查DEVICE_PROVISIONED值。

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



