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

Flutter集成Branch.io校验报错:未找到de:// URI Scheme对应意图

问题修复方案
  • 修复AndroidManifest.xml语法错误
    你的application标签配置行末尾多了一个冗余的>符号,直接删除该无效符号即可。
  • 补充MainActivity的exported属性
    针对Android 12及以上系统,所有可被外部唤起的Activity必须显式声明可导出属性,修改MainActivity配置:
    <activity 
        android:name=".MainActivity"
        android:exported="true" <!-- 新增该行配置 -->
        android:launchMode="singleTask"
        <!-- 其余原有属性保持不变 -->
    >
    
  • 调整URI Scheme的intent-filter配置
    你当前的配置将scheme和host写在同一个<data>标签内,要求唤起链接必须同时匹配de协议和open主机名,Branch SDK校验时只会匹配de://无主机名的规则,因此会报错,修改为如下配置:
    <!-- Branch URI Scheme -->
    <intent-filter>
        <data android:scheme="de" />
        <data android:host="open" /> <!-- 若无需限定主机名可直接删除该行 -->
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />
    </intent-filter>
    
  • 补充Flutter端深度链接监听逻辑
    原生配置完成后,需要在Flutter层监听Branch返回的深度链接参数,才能实现指定页面跳转:
    // 初始化Branch后添加会话监听
    FlutterBranchSdk.listSession().listen((linkData) {
      if (linkData.containsKey('~deep_link_path')) {
        String targetPath = linkData['~deep_link_path'];
        // 此处写入你自己的页面跳转逻辑,例如通过Navigator跳转到对应页面
      }
    }, onError: (err) {
      print('深度链接监听出错:$err');
    });
    
  • 校验生效
    修改完成后卸载设备上的原有应用,重新安装运行,再次调用validateSdkIntegration方法即可看到校验通过日志。

内容的提问来源于stack exchange,提问作者Golam Sarwar Shakil

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 04:06:05