如何获取当前HAP的包名?

如何获取当前HAP的包名

阅读 604
1 个回答

通过bundleManage模块的getBundleInfoForSelf接口获取所有信息:
GET_BUNDLE_INFO_DEFAULT:接口默认的参数,返回结果的name字段对应BundleName。
GET_BUNDLE_INFO_WITH_APPLICATION:除基本字段外,能够额外获取到ApplicationInfo字段,ApplicationInfo的name字段也对应BundleName。
下面代码以GET_BUNDLE_INFO_DEFAULT为例:

import bundleManager from '@ohos.bundle.bundleManager'; 
import { BusinessError } from '@ohos.base'; 
import hilog from '@ohos.hilog'; 
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)); 
    }).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); 
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进