解决异常断电导致数据被损坏的问题

原因:拿到问题机器,把data/system/users/0/settings_global.xml导出来,provisioned值确实变成0了,如下:

另外,如果在正常的机器上,手动把这个值改成0,同样能复现这个现象。
所以,我们暂时把\frameworks\base\packages\SettingsProvider\res\values\defaults.xml里的

<bool name="def_device_provisioned">true</bool> 默认值为false。
解决方案:diff --git a/frameworks/base/packages/SettingsProvider/res/values/defaults.xml b/frameworks/base/packages/SettingsProvider/res/values/defaults.index 083cc00..5c0c0ed 100755
--- a/frameworks/base/packages/SettingsProvider/res/values/defaults.xml
+++ b/frameworks/base/packages/SettingsProvider/res/values/defaults.xml
@@ -81,7 +81,7 @@
     <string name="def_wireless_charging_started_sound" translatable="false">/system/media/audio/ui/WirelessChargingStarted.ogg</string>
 
     <bool name="def_lockscreen_disabled">false</bool>
-    <bool name="def_device_provisioned">false</bool>
+    <bool name="def_device_provisioned">true</bool>
     <integer name="def_dock_audio_media_enabled">1</integer>
 
     <!-- Notifications use ringer volume -->

猜你喜欢

转载自blog.csdn.net/m1126125223/article/details/82986255