HarmonyOS 鸿蒙Next如何获取appIdentifier
HarmonyOS 鸿蒙Next如何获取appIdentifier
微信支付注册鸿蒙应用需要填写appIdentifier,请问获取方式按照下面的方式获取正确么?另外,我通过debug证书和release证书打包后,获取到的值不一样,正常么?
获取方法如下:
let bundleFlags = bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_APPLICATION | bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_METADATA | bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_SIGNATURE_INFO;
Logger.debug(TAG, `appIdentifier->${bundleManager.getBundleInfoForSelfSync(bundleFlags).signatureInfo.appIdentifier}`)
更多关于HarmonyOS 鸿蒙Next如何获取appIdentifier的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
/**
* 获取appIdentifier
*/
getBundleAppIdentifier() {
// 根据给定的bundle名称获取BundleInfo。
// 使用此方法需要申请 ohos.permission.GET_BUNDLE_INFO权限。
let bundleFlags = bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_SIGNATURE_INFO;
try {
bundleManager.getBundleInfoForSelf(bundleFlags).then((data) => {
//获取appIdentifier
let appIdentifier = data.signatureInfo.appIdentifier;
console.info('getBundleAppIdentifier successfully. Data: ' + appIdentifier);
}).catch((err: BusinessError) => {
console.error('getBundleAppIdentifier failed. Cause: ' + err.message);
});
} catch (error) {
console.error('getBundleAppIdentifier failed:' + error.message);
}
}
更多关于HarmonyOS 鸿蒙Next如何获取appIdentifier的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
包管理这边有这个属性SignatureInfo内的appIdentifier就代表了应用的唯一标识。
该字段使用bundleManager.getBundleInfoForSelf接口去获取,传入对应的flag去获取,
参考链接:
flag传GET_BUNDLE_INFO_WITH_SIGNATURE_INFO就可以获取signatureinfo内的信息。
appIdentifier由应用市场分发 就是AGC创建应用分配的 APPID ,纯数字算法生成,位数统一 19位,应用一旦创建是不可能变化的 同一应用申请的debug profile或release profile中,appIdentifier一致。 同一应用,指的是在agc portal创建的单个HarmonyOS应用/元服务。 注:如果debug启用IDE自动签名,那么appIdentifier为随机分配(此appIdentifier不可作为应用正式的身份标识),不同于应用正式profile中的appIdentifier。 所有用户是同一个 appIdentifier