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

Android浏览器无法通过Deep Link唤起App,该如何解决?

修复Deep Link无法唤起应用的方案

我来帮你一步步排查这个Deep Link唤起失败的问题,咱们从几个关键环节入手:

1. 修正Intent URI的格式

你的intent URI缺少了关键的action参数,而你在Manifest里给ResultPayActivity的Intent Filter声明了android.intent.action.VIEW,浏览器需要明确匹配到这个action才能找到对应的Activity。

修正后的Intent URI应该是:

intent://1#Intent;scheme=sanduqcheh;package=com.example.pegah_system.sanduqchehproject;action=android.intent.action.VIEW;end

另外,你也可以尝试更简洁的直接scheme URL格式,很多浏览器对这种格式的支持更友好:

sanduqcheh://1

2. 先验证应用端配置是否正常

先通过adb命令测试,排除应用本身的配置问题:

adb shell am start -W -a android.intent.action.VIEW -d "sanduqcheh://1" com.example.pegah_system.sanduqchehproject

如果这条命令能成功打开ResultPayActivity,说明你的Manifest配置是没问题的,问题出在浏览器的调用或者设置上。

3. 检查浏览器的Deep Link权限和设置

  • 部分浏览器(比如Chrome)会拦截非HTTPS页面的Deep Link调用,如果你是在本地HTTP页面或者本地HTML文件中测试,建议换成HTTPS测试环境,或者直接用scheme URL格式。
  • 去浏览器的设置里找到「应用」相关选项,确认你的应用被允许处理sanduqcheh scheme的链接,有些浏览器需要用户手动授权应用打开链接的权限。

4. 优化Manifest的Intent Filter配置(可选但更严谨)

虽然你当前的配置只指定scheme也能工作,但补充host和pathPattern可以让匹配更精确,避免和其他应用的scheme冲突:

<activity android:name=".ResultPayActivity" android:screenOrientation="portrait">
    <intent-filter>
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />
        <data android:scheme="sanduqcheh" 
              android:host="*" 
              android:pathPattern=".*" />
    </intent-filter>
</activity>

如果以上步骤都试过还是不行,可以尝试清除浏览器的缓存和默认应用设置,或者换用Firefox等其他浏览器测试,排查是否是特定浏览器的兼容性问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 07:36:11