You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何阻止点击网站链接时自动唤起React Native应用

你注释RN侧Linking相关代码不生效的核心原因是:App唤起逻辑是由iOS/Android系统的原生配置控制的,和RN运行时的Linking模块调用没有直接关联,需要修改两端原生配置才能实现需求,具体方案如下:

iOS端操作步骤
  • 打开Xcode项目下的Info.plist文件,找到CFBundleURLTypes配置项,删除或注释你方Web域名对应的URL Scheme配置
  • 如果你配置了Universal Link关联域名,打开项目的.entitlements文件,删除com.apple.developer.associated-domains字段下你方Web域名对应的条目
  • 注意:已经安装过旧版本App的用户,系统已经缓存了域名和App的关联关系,需要卸载重装App才能让新配置生效
Android端操作步骤
  • 打开Android项目下的AndroidManifest.xml文件,找到主Activity下配置了你方Web域名的<intent-filter>标签,直接删除或注释整个标签段
  • 如果你开启了App Link的autoVerify自动验证配置,同步删除对应的属性配置
  • 同iOS逻辑,旧版本安装用户需要卸载重装才能清除系统缓存的关联规则
紧急临时方案(无需发版App)

如果当前来不及发布新版本修改原生配置,可以直接修改Web端代码实现效果:

// 在Web应用的入口逻辑处添加判断
const isAppOpen = navigator.userAgent.includes('你的RN应用自定义UA标识')
if (isAppOpen) {
  // 安卓端强制跳转系统浏览器打开
  const targetUrl = window.location.href
  window.location.href = `intent://${targetUrl.replace('https://', '').replace('http://', '')}#Intent;scheme=https;package=你的应用包名;end`
  // iOS端可以直接调用window.open强制跳转Safari
  // window.open(window.location.href, '_blank')
  // 跳转后主动关闭当前RN页面即可
}

该方案直接上线Web端代码即可生效,不需要修改App端内容。

内容的提问来源于stack exchange,提问作者user2785172

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 22:36:03