鸿蒙在子线程中调用PushAgent.initCallback无效
Ss*
发布于 1 年前
1314来自湖南省消息推送 U-Push
因为在内网情况,如果在主进程中调用PushAgent.initCallback会导致卡死,所以选择在子线程中来调用 但是无法完成初始化功能。
示例代码如下:
@Concurrent
function getUMengDeviceToken(TAG:string) {
PushAgent.initCallback((data: Record<string, string>) => {
console.log(`getUMengDeviceToken data is ${JSON.stringify(data)}`);
});
}
export default class EntryAbility extends RNAbility {
onCreate(want: Want) {
// 友盟消息推送初始化回调
this.getTokenWithTaskpool();
}
async getTokenWithTaskpool() {
try {
LOGI(TAG, 'getUMengDeviceToken called')
const task: taskpool.Task = new taskpool.Task(getUMengDeviceToken, TAG)
await taskpool.execute(task)
} catch (error) {
const err: BusinessError = error;
LOGI(TAG, 'getUMengDeviceToken failed: ' + err.code + ' ' + err.message);
}
}
}

