
回复
link
:目标URL(如地图坐标geo:39.9,116.4
)options.appLinkingOnly
:是否仅用App Linking跳转// 打开地图查看坐标
context.openLink('geo:39.9042,116.4074', { appLinkingOnly: false });
action
:目标动作(如ohos.want.action.viewData
)uri
:目标URI(如mailto:user@example.com
)// 调邮件应用发反馈
const want = {
action: 'ohos.want.action.sendToData',
uri: 'mailto:support@harmony.com?subject=反馈',
entities: ['entity.system.browsable']
};
context.startAbility(want);
onLoadIntercept
拦截URL并处理// 拦截天气协议跳转天气应用
controller.onLoadIntercept((event) => {
const url = event.data.getRequestUrl();
if (url.startsWith('weather:')) {
context.openLink(url); // 跳转天气应用
return true; // 阻止Web加载
}
});
功能 | API 12+支持 | API 11及以前 |
---|---|---|
显式Ability跳转 | ❌(废弃) | ✅(需指定bundleName) |
App Linking | ✅ | ❌ |
Deep Linking | ✅ | ✅ |
`common.getAbilityInfo({ bundleName: 'com.target.app' })`
Want.parameters
传递而非URIHarmonyOS提供openLink/startAbility/Web拦截
三种精准跳转方式,开发者可根据场景选择:URL直连选openLink
,复杂参数控制用startAbility
,Web场景用拦截跳转。注意API版本差异,做好未安装处理和参数安全控制,即可实现流畅的跨应用协作体验。