HarmonyOS 如何在应用启动时,获取当应用的版本相关信息,并使用首选项进行持久化?

HarmonyOS  如何在应用启动时,获取当应用的版本相关信息,并使用首选项进行持久化?


HarmonyOS
7天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
superinsect

​通过getBundleInfoForSelf接口获取当前包的信息,参考文档:​https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-bundlemanager-V5#bundlemanagergetbundleinfoforself

首选项文档:​https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/data-persistence-by-preferences-V5

参考demo:​

import { BusinessError } from '@kit.BasicServicesKit'; 
import bundleManager from '@ohos.bundle.bundleManager'; 
import dataPreferences from '@ohos.data.preferences'; 
 
let preferences: dataPreferences.Preferences | null = null; 
 
export default class EntryAbility extends UIAbility { 
 
  ...... 
 
  onWindowStageCreate(windowStage: window.WindowStage): void { 
 
    let options: dataPreferences.Options = { name: 'myStore' }; 
    try{ 
      preferences = dataPreferences.getPreferencesSync(this.context, options); 
    }catch (err){ 
      console.error("Failed to get preferences. code =" + err.code + ", message =" + err.message); 
    } 
 
    let bundleFlags = bundleManager.BundleFlag.GET_BUNDLE_INFO_DEFAULT; 
    try { 
      bundleManager.getBundleInfoForSelf(bundleFlags).then((data) => { 
 
        hilog.info(0x0000, 'testTag', 'getBundleInfoForSelf successfully. Data: %{public}s', JSON.stringify(data)); 
        if(preferences){ 
          preferences.putSync('versionName', data.versionName); 
        } 
      }).catch((err: BusinessError) => { 
        hilog.error(0x0000, 'testTag', 'getBundleInfoForSelf failed. Cause: %{public}s', err.message); 
      }); 
    } catch (err) { 
      let message = (err as BusinessError).message; 
      hilog.error(0x0000, 'testTag', 'getBundleInfoForSelf failed: %{public}s', message); 
    } 
 
    windowStage.loadContent('pages/Index', (err, data) => { 
      ...... 
    }); 
  } 
  ...... 
}
分享
微博
QQ
微信
回复
7天前
相关问题
HarmonyOS TaskPool使用首选项报错
258浏览 • 1回复 待解决
如何获取应用版本信息
2053浏览 • 1回复 待解决
首选项获取实例,实例是否为单例
1832浏览 • 1回复 待解决
HarmonyOS 用户首选项是线程安全
209浏览 • 1回复 待解决
错误码15500000(首选项)如何处理?
1103浏览 • 1回复 待解决
首选项存储问题,为什么会报错?
81浏览 • 1回复 待解决
如何实现应用数据持久存储
1986浏览 • 1回复 待解决