可以参考官网的接入扫码直达服务import { router } from '@kit.ArkUI'; import { hilog } from '@kit.PerformanceAnalysisKit'; import { AbilityConstant, UIAbility, Want } from '@kit.AbilityKit'; export default class EntryAbility extends UIAbility { // 冷启动场景通过onCreate回调获取码值信息 onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void { hilog.info(0x0001, '[Scan Access]', `Succeeded in getting want in onCreate`); // 从want中获取传入的链接信息。 // 如传入的url为:https://www.example.com/programs?router=Access this.getRouterUri(want); } // 热启动场景通过onNewWant回调获取码值信息 onNewWant(want: Want, launchParam: AbilityConstant.LaunchParam): void { hilog.info(0x0001, '[Scan Access]', `Succeeded in getting want in onNewWant`); // 从want中获取传入的链接信息 this.getRouterUri(want); } // 解析扫码结果,跳转相应页面 private getRouterUri(want: Want) { let uri: string | undefined = want?.uri; if (uri) { // 开发者根据解析的uri跳转至响应页面,例如需要跳转页面为"pages/Access" let status: router.RouterState = router.getState(); if (status && status.name !== 'Access' && uri) { // 根据uri参数做业务处理 router.pushUrl({ url: 'pages/Access' }); } } }
可以参考官网的接入扫码直达服务