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

Expo应用中react-native Linking.openURL打开链接后闪退问题求助

Expo中Linking.openURL打开链接后浏览器闪退、应用崩溃问题解决

问题描述

在Expo应用中使用react-native的Linking.openURL打开任意链接时,浏览器刚启动就关闭,同时应用闪退。canOpenURL返回true,但无法正常打开链接,相关代码如下:

const url = "https://www.google.com";
try {
  const canOpen = await Linking.canOpenURL(url);
  console.log(canOpen); // 返回true
  if (canOpen) {
    Linking.openURL(url);
  }
} catch (error) {
  console.log("the error is ", error);
}

解决方案

  • 修正异步调用缺失问题
    Linking.openURL是异步方法,原代码未添加await会导致应用状态处理异常,修改后代码:
const url = "https://www.google.com";
try {
  const canOpen = await Linking.canOpenURL(url);
  console.log(canOpen);
  if (canOpen) {
    await Linking.openURL(url); // 添加await
  }
} catch (error) {
  console.log("the error is ", error);
}
  • 检查应用权限配置
    在app.json中确认配置了正确的链接访问权限,适配iOS和Android平台:
{
  "expo": {
    "scheme": "your-app-scheme",
    "ios": {
      "infoPlist": {
        "LSApplicationQueriesSchemes": ["https", "http"]
      }
    },
    "android": {
      "intentFilters": [
        {
          "action": "VIEW",
          "data": [
            {
              "scheme": "https",
              "host": "*"
            }
          ],
          "category": ["BROWSABLE", "DEFAULT"]
        }
      ]
    }
  }
}
  • 清除缓存重启项目
    执行命令清除Expo缓存,避免缓存引发的异常:
expo r -c
  • 排查SDK版本兼容性
    若使用旧版Expo SDK,尝试升级至最新稳定版本,部分旧版本存在Linking模块的已知bug。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 08:50:02