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

Android 12后台Deep Link无法自动唤起React Native应用(Android 11正常)

解决Android 12上React Native应用Deep Link无法唤起的问题

检查Android 12的Intent过滤规则变更

Android 12对隐式Intent的处理更严格,即便已申请QUERY_ALL_PACKAGES权限,部分场景下仍需调整Intent过滤器配置以确保优先级。

提升Intent过滤器优先级

在Deep Link对应的意图过滤器中添加android:priority="1000"属性,确保你的应用在匹配Deep Link时拥有最高优先级:

<intent-filter android:priority="1000">
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.BROWSABLE" />
    <data android:scheme="your-custom-scheme" /> <!-- 替换为你的实际Scheme -->
</intent-filter>

验证react-native-navigation的Deep Link处理逻辑

假设你使用的是react-native-navigation v7.37.0(最新稳定版),需确保MainActivity中正确处理新Intent:

@Override
protected void onNewIntent(Intent intent) {
    super.onNewIntent(intent);
    Navigation.handleDeepLink(intent);
}

同时在RN代码中注册Deep Link监听器,确保路由逻辑正常执行:

import { Navigation } from 'react-native-navigation';

Navigation.events().registerDeepLinkListener((event) => {
  const routeParts = event.link.split('/');
  // 此处添加你的Deep Link路由分发逻辑
});

确认Gradle与AGP版本兼容性

Android 12要求AGP 7.0+、Gradle 7.0+版本配合使用,示例兼容版本:

  • Gradle版本:7.4
  • AGP版本:7.0.4
    若版本不匹配,可能导致Intent处理流程异常,建议严格保持两者版本兼容。

检查Activity的exported属性

Android 12及以上要求启动Activity显式声明android:exported="true",确保你的MainActivity配置正确:

<activity
    android:name=".MainActivity"
    android:exported="true"
    android:label="@string/app_name"
    android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|screenSize|smallestScreenSize|uiMode"
    android:launchMode="singleTask"
    android:windowSoftInputMode="adjustResize">

排查系统默认链接处理设置

在Android 12设备上,进入应用「应用信息」→「默认打开」→「链接处理」,确认你的应用已被设为对应Deep Link Scheme的默认处理应用。若未设置,需引导用户手动配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 19:03:27