1. 程式人生 > >解決異常斷電導致資料被損壞的問題

解決異常斷電導致資料被損壞的問題

原因:拿到問題機器,把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 -->