1# 系统恢复<a name="ZH-CN_TOPIC_0000001164895648"></a> 2 3## 导入模块<a name="zh-cn_topic_0000001163565327_section370mcpsimp"></a> 4 5``` 6import update from '@ohos.update' 7``` 8 9## 权限列表<a name="zh-cn_topic_0000001163565327_section373mcpsimp"></a> 10 11无 12 13## 方法<a name="zh-cn_topic_0000001163565327_section1319529172015"></a> 14 15## verifyUpdatePackage\(upgradeFile: string, certsFile: string\): void<a name="zh-cn_topic_0000001163565327_section16874643181519"></a> 16 17升级前检查升级包是否有效。 18 19**参数:** 20 21<a name="zh-cn_topic_0000001163565327_table1987419434154"></a> 22<table><thead align="left"><tr id="zh-cn_topic_0000001163565327_row16875643191511"><th class="cellrowborder" valign="top" width="11.219999999999999%" id="mcps1.1.5.1.1"><p id="zh-cn_topic_0000001163565327_p12875843191519"><a name="zh-cn_topic_0000001163565327_p12875843191519"></a><a name="zh-cn_topic_0000001163565327_p12875843191519"></a>参数名</p> 23</th> 24<th class="cellrowborder" valign="top" width="18.22%" id="mcps1.1.5.1.2"><p id="zh-cn_topic_0000001163565327_p12875194316156"><a name="zh-cn_topic_0000001163565327_p12875194316156"></a><a name="zh-cn_topic_0000001163565327_p12875194316156"></a>类型</p> 25</th> 26<th class="cellrowborder" valign="top" width="6.1899999999999995%" id="mcps1.1.5.1.3"><p id="zh-cn_topic_0000001163565327_p12875104312152"><a name="zh-cn_topic_0000001163565327_p12875104312152"></a><a name="zh-cn_topic_0000001163565327_p12875104312152"></a>必填</p> 27</th> 28<th class="cellrowborder" valign="top" width="64.37%" id="mcps1.1.5.1.4"><p id="zh-cn_topic_0000001163565327_p98751743161513"><a name="zh-cn_topic_0000001163565327_p98751743161513"></a><a name="zh-cn_topic_0000001163565327_p98751743161513"></a>说明</p> 29</th> 30</tr> 31</thead> 32<tbody><tr id="zh-cn_topic_0000001163565327_row19875144311510"><td class="cellrowborder" valign="top" width="11.219999999999999%" headers="mcps1.1.5.1.1 "><p id="zh-cn_topic_0000001163565327_p17883191212014"><a name="zh-cn_topic_0000001163565327_p17883191212014"></a><a name="zh-cn_topic_0000001163565327_p17883191212014"></a>upgradeFile</p> 33</td> 34<td class="cellrowborder" valign="top" width="18.22%" headers="mcps1.1.5.1.2 "><p id="zh-cn_topic_0000001163565327_p0875164318155"><a name="zh-cn_topic_0000001163565327_p0875164318155"></a><a name="zh-cn_topic_0000001163565327_p0875164318155"></a>string</p> 35</td> 36<td class="cellrowborder" valign="top" width="6.1899999999999995%" headers="mcps1.1.5.1.3 "><p id="zh-cn_topic_0000001163565327_p108751043141517"><a name="zh-cn_topic_0000001163565327_p108751043141517"></a><a name="zh-cn_topic_0000001163565327_p108751043141517"></a>是</p> 37</td> 38<td class="cellrowborder" valign="top" width="64.37%" headers="mcps1.1.5.1.4 "><p id="zh-cn_topic_0000001163565327_p1987519439152"><a name="zh-cn_topic_0000001163565327_p1987519439152"></a><a name="zh-cn_topic_0000001163565327_p1987519439152"></a>待校验的升级包路径</p> 39</td> 40</tr> 41<tr id="zh-cn_topic_0000001163565327_row194175815171"><td class="cellrowborder" valign="top" width="11.219999999999999%" headers="mcps1.1.5.1.1 "><p id="zh-cn_topic_0000001163565327_p20957580177"><a name="zh-cn_topic_0000001163565327_p20957580177"></a><a name="zh-cn_topic_0000001163565327_p20957580177"></a>certsFile</p> 42</td> 43<td class="cellrowborder" valign="top" width="18.22%" headers="mcps1.1.5.1.2 "><p id="zh-cn_topic_0000001163565327_p1895158171714"><a name="zh-cn_topic_0000001163565327_p1895158171714"></a><a name="zh-cn_topic_0000001163565327_p1895158171714"></a>string</p> 44</td> 45<td class="cellrowborder" valign="top" width="6.1899999999999995%" headers="mcps1.1.5.1.3 "><p id="zh-cn_topic_0000001163565327_p395125851716"><a name="zh-cn_topic_0000001163565327_p395125851716"></a><a name="zh-cn_topic_0000001163565327_p395125851716"></a>是</p> 46</td> 47<td class="cellrowborder" valign="top" width="64.37%" headers="mcps1.1.5.1.4 "><p id="zh-cn_topic_0000001163565327_p129545811714"><a name="zh-cn_topic_0000001163565327_p129545811714"></a><a name="zh-cn_topic_0000001163565327_p129545811714"></a>证书路径</p> 48</td> 49</tr> 50</tbody> 51</table> 52 53**返回值:** 54 55无 56 57**示例:** 58 59``` 60var getVar = update.getUpdater(); 61getVar.on("verifyProgress", function (callback){ 62 console.info('on verifyProgress ' + callback.percent); 63}); 64getVar.verifyUpdatePackage("XXX", "XXX"); 65getVar.off("verifyProgress"); 66``` 67 68## rebootAndCleanUserData\(\): Promise<number\><a name="zh-cn_topic_0000001163565327_section3242122116516"></a> 69 70重启设备并清除用户分区数据。 71 72**参数:** 73 74无 75 76**返回值:** 77 78<a name="zh-cn_topic_0000001163565327_table9242921652"></a> 79<table><thead align="left"><tr id="zh-cn_topic_0000001163565327_row724232113519"><th class="cellrowborder" valign="top" width="16.46%" id="mcps1.1.3.1.1"><p id="zh-cn_topic_0000001163565327_p1224210211454"><a name="zh-cn_topic_0000001163565327_p1224210211454"></a><a name="zh-cn_topic_0000001163565327_p1224210211454"></a>类型</p> 80</th> 81<th class="cellrowborder" valign="top" width="83.54%" id="mcps1.1.3.1.2"><p id="zh-cn_topic_0000001163565327_p1924210213517"><a name="zh-cn_topic_0000001163565327_p1924210213517"></a><a name="zh-cn_topic_0000001163565327_p1924210213517"></a>说明</p> 82</th> 83</tr> 84</thead> 85<tbody><tr id="zh-cn_topic_0000001163565327_row6242521053"><td class="cellrowborder" valign="top" width="16.46%" headers="mcps1.1.3.1.1 "><p id="zh-cn_topic_0000001163565327_p8242162115510"><a name="zh-cn_topic_0000001163565327_p8242162115510"></a><a name="zh-cn_topic_0000001163565327_p8242162115510"></a>Promise<number></p> 86</td> 87<td class="cellrowborder" valign="top" width="83.54%" headers="mcps1.1.3.1.2 "><p id="zh-cn_topic_0000001163565327_p6242021157"><a name="zh-cn_topic_0000001163565327_p6242021157"></a><a name="zh-cn_topic_0000001163565327_p6242021157"></a>Promise示例,用于异步获取结果。</p> 88</td> 89</tr> 90</tbody> 91</table> 92 93**示例:** 94 95``` 96var getVar = update.getUpdater(); 97p = getVar.rebootAndCleanUserData(); 98p.then(function (value) { 99 console.info("rebootAndCleanUserData promise success: " + value); 100}).catch(function (err) { 101 console.info("rebootAndCleanUserData promise error: " + err.code); 102}); 103``` 104 105## rebootAndCleanUserData\(callback: AsyncCallback<number\>\): void<a name="zh-cn_topic_0000001163565327_section15242102114516"></a> 106 107重启设备并清除用户分区数据。 108 109**参数:** 110 111<a name="zh-cn_topic_0000001163565327_table62421211154"></a> 112<table><thead align="left"><tr id="zh-cn_topic_0000001163565327_row92426211952"><th class="cellrowborder" valign="top" width="11.219999999999999%" id="mcps1.1.5.1.1"><p id="zh-cn_topic_0000001163565327_p124342114519"><a name="zh-cn_topic_0000001163565327_p124342114519"></a><a name="zh-cn_topic_0000001163565327_p124342114519"></a>参数名</p> 113</th> 114<th class="cellrowborder" valign="top" width="18.22%" id="mcps1.1.5.1.2"><p id="zh-cn_topic_0000001163565327_p524315218516"><a name="zh-cn_topic_0000001163565327_p524315218516"></a><a name="zh-cn_topic_0000001163565327_p524315218516"></a>类型</p> 115</th> 116<th class="cellrowborder" valign="top" width="6.1899999999999995%" id="mcps1.1.5.1.3"><p id="zh-cn_topic_0000001163565327_p122436211858"><a name="zh-cn_topic_0000001163565327_p122436211858"></a><a name="zh-cn_topic_0000001163565327_p122436211858"></a>必填</p> 117</th> 118<th class="cellrowborder" valign="top" width="64.37%" id="mcps1.1.5.1.4"><p id="zh-cn_topic_0000001163565327_p1243172118512"><a name="zh-cn_topic_0000001163565327_p1243172118512"></a><a name="zh-cn_topic_0000001163565327_p1243172118512"></a>说明</p> 119</th> 120</tr> 121</thead> 122<tbody><tr id="zh-cn_topic_0000001163565327_row8243122114510"><td class="cellrowborder" valign="top" width="11.219999999999999%" headers="mcps1.1.5.1.1 "><p id="zh-cn_topic_0000001163565327_p152435211151"><a name="zh-cn_topic_0000001163565327_p152435211151"></a><a name="zh-cn_topic_0000001163565327_p152435211151"></a>callback</p> 123</td> 124<td class="cellrowborder" valign="top" width="18.22%" headers="mcps1.1.5.1.2 "><p id="zh-cn_topic_0000001163565327_p024372115516"><a name="zh-cn_topic_0000001163565327_p024372115516"></a><a name="zh-cn_topic_0000001163565327_p024372115516"></a>Function</p> 125</td> 126<td class="cellrowborder" valign="top" width="6.1899999999999995%" headers="mcps1.1.5.1.3 "><p id="zh-cn_topic_0000001163565327_p1724312217510"><a name="zh-cn_topic_0000001163565327_p1724312217510"></a><a name="zh-cn_topic_0000001163565327_p1724312217510"></a>是</p> 127</td> 128<td class="cellrowborder" valign="top" width="64.37%" headers="mcps1.1.5.1.4 "><p id="zh-cn_topic_0000001163565327_p22435211855"><a name="zh-cn_topic_0000001163565327_p22435211855"></a><a name="zh-cn_topic_0000001163565327_p22435211855"></a>AsyncCallback<number></p> 129</td> 130</tr> 131</tbody> 132</table> 133 134**返回值:** 135 136无 137 138**示例:** 139 140``` 141var getVar = update.getUpdater(); 142getVar.rebootAndCleanUserData(function (err, data) { 143 if (err.code == 0) { 144 console.info("rebootAndCleanUserData callback success:" + data) 145 } else { 146 console.info("rebootAndCleanUserData callback err:" + err.code) 147 } 148}); 149``` 150 151## applyNewVersion\(\): Promise<number\><a name="zh-cn_topic_0000001163565327_section129661811195815"></a> 152 153重启设备后安装升级包。 154 155**参数:** 156 157无 158 159**返回值:** 160 161<a name="zh-cn_topic_0000001163565327_table14773154913191"></a> 162<table><thead align="left"><tr id="zh-cn_topic_0000001163565327_row877314991912"><th class="cellrowborder" valign="top" width="16.46%" id="mcps1.1.3.1.1"><p id="zh-cn_topic_0000001163565327_p1077313493199"><a name="zh-cn_topic_0000001163565327_p1077313493199"></a><a name="zh-cn_topic_0000001163565327_p1077313493199"></a>类型</p> 163</th> 164<th class="cellrowborder" valign="top" width="83.54%" id="mcps1.1.3.1.2"><p id="zh-cn_topic_0000001163565327_p1677411498195"><a name="zh-cn_topic_0000001163565327_p1677411498195"></a><a name="zh-cn_topic_0000001163565327_p1677411498195"></a>说明</p> 165</th> 166</tr> 167</thead> 168<tbody><tr id="zh-cn_topic_0000001163565327_row1977413496194"><td class="cellrowborder" valign="top" width="16.46%" headers="mcps1.1.3.1.1 "><p id="zh-cn_topic_0000001163565327_p67742498197"><a name="zh-cn_topic_0000001163565327_p67742498197"></a><a name="zh-cn_topic_0000001163565327_p67742498197"></a>Promise<number></p> 169</td> 170<td class="cellrowborder" valign="top" width="83.54%" headers="mcps1.1.3.1.2 "><p id="zh-cn_topic_0000001163565327_p4774164916199"><a name="zh-cn_topic_0000001163565327_p4774164916199"></a><a name="zh-cn_topic_0000001163565327_p4774164916199"></a>Promise示例,用于异步获取结果。</p> 171</td> 172</tr> 173</tbody> 174</table> 175 176**示例:** 177 178``` 179var getVar = update.getUpdater(); 180p.then(function (value) { 181 console.info("applyNewVersion promise success: " + value); 182}).catch(function (err) { 183 console.info("applyNewVersion promise error: " + err.code); 184}); 185``` 186 187## applyNewVersion\(callback: AsyncCallback<number\>\): void<a name="zh-cn_topic_0000001163565327_section3381192816421"></a> 188 189重启设备后安装升级包。 190 191**参数:** 192 193<a name="zh-cn_topic_0000001163565327_table14473145217456"></a> 194<table><thead align="left"><tr id="zh-cn_topic_0000001163565327_row1052235294518"><th class="cellrowborder" valign="top" width="11.219999999999999%" id="mcps1.1.5.1.1"><p id="zh-cn_topic_0000001163565327_p15522195234514"><a name="zh-cn_topic_0000001163565327_p15522195234514"></a><a name="zh-cn_topic_0000001163565327_p15522195234514"></a>参数名</p> 195</th> 196<th class="cellrowborder" valign="top" width="18.22%" id="mcps1.1.5.1.2"><p id="zh-cn_topic_0000001163565327_p1852285215454"><a name="zh-cn_topic_0000001163565327_p1852285215454"></a><a name="zh-cn_topic_0000001163565327_p1852285215454"></a>类型</p> 197</th> 198<th class="cellrowborder" valign="top" width="6.1899999999999995%" id="mcps1.1.5.1.3"><p id="zh-cn_topic_0000001163565327_p125221452154514"><a name="zh-cn_topic_0000001163565327_p125221452154514"></a><a name="zh-cn_topic_0000001163565327_p125221452154514"></a>必填</p> 199</th> 200<th class="cellrowborder" valign="top" width="64.37%" id="mcps1.1.5.1.4"><p id="zh-cn_topic_0000001163565327_p552214521459"><a name="zh-cn_topic_0000001163565327_p552214521459"></a><a name="zh-cn_topic_0000001163565327_p552214521459"></a>说明</p> 201</th> 202</tr> 203</thead> 204<tbody><tr id="zh-cn_topic_0000001163565327_row165221352124511"><td class="cellrowborder" valign="top" width="11.219999999999999%" headers="mcps1.1.5.1.1 "><p id="zh-cn_topic_0000001163565327_p85221523450"><a name="zh-cn_topic_0000001163565327_p85221523450"></a><a name="zh-cn_topic_0000001163565327_p85221523450"></a>callback</p> 205</td> 206<td class="cellrowborder" valign="top" width="18.22%" headers="mcps1.1.5.1.2 "><p id="zh-cn_topic_0000001163565327_p1452275204516"><a name="zh-cn_topic_0000001163565327_p1452275204516"></a><a name="zh-cn_topic_0000001163565327_p1452275204516"></a>Function</p> 207</td> 208<td class="cellrowborder" valign="top" width="6.1899999999999995%" headers="mcps1.1.5.1.3 "><p id="zh-cn_topic_0000001163565327_p1152275224511"><a name="zh-cn_topic_0000001163565327_p1152275224511"></a><a name="zh-cn_topic_0000001163565327_p1152275224511"></a>是</p> 209</td> 210<td class="cellrowborder" valign="top" width="64.37%" headers="mcps1.1.5.1.4 "><p id="zh-cn_topic_0000001163565327_p175228526455"><a name="zh-cn_topic_0000001163565327_p175228526455"></a><a name="zh-cn_topic_0000001163565327_p175228526455"></a>AsyncCallback<number></p> 211</td> 212</tr> 213</tbody> 214</table> 215 216**返回值:** 217 218无 219 220**示例:** 221 222``` 223var getVar = update.getUpdater(); 224getVar.applyNewVersion(function (err, data) { 225 if (err.code == 0) { 226 console.info("applyNewVersion callback success:" + data) 227 } else { 228 console.info("applyNewVersion callback err:" + err.code) 229 } 230}); 231``` 232 233