正常是在UIAbility的onCreate里处理分享数据,比如
onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void {
systemShare.getSharedData(want)
.then((data: systemShare.SharedData) => {
data.getRecords().forEach((record: systemShare.SharedRecord) => {
// 处理分享数据
console.info('share data, title: ' + record.title + ', content: ' + record.content);
});
})
.catch((error: BusinessError) => {
console.info('share data, error: ' + error.message);
});
}
但如果用于接收分享内容的UIAbility已打开,这时候不会走onCreate,有没有办法获取到want并处理分享数据?
热启动会走onNewWant生命周期,可以在onNewWant内获取到want并处理数据,参考
https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-app-ability-uiability-V5\#uiabilityonnewwant