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

Flutter如何配置Android Open supported links默认允许打开链接

核心结论

App Links安装后默认开启「Allow to open supported links」、无弹窗直接唤起应用的效果,不是应用商店分发渠道的专属特权,只要满足Android官方App Links校验规则,任意渠道安装的release包都可以实现该效果。你本地通过flutter run安装的应用默认显示「每次询问」,是安装包签名、配置规则、校验流程未满足要求共同导致的。

本地安装包默认「每次询问」的原因
  • flutter run默认安装的是debug签名的测试包,Android 12及以上版本对非官方商店来源、未通过域名校验的应用,会默认将链接打开策略设置为每次询问,不会主动授予默认打开权限。
  • 你当前的intent-filter配置存在规则冲突:你在开启了android:autoVerify="true"的过滤器里同时配置了非http/https的自定义schemeserversappdev://serversapplink,这类自定义协议链接本身不支持系统自动校验,会直接导致整个过滤器的自动校验流程失败,所有链接都无法获得默认打开权限。
  • 自动校验触发需要联网:系统会在应用安装完成后,联网请求你配置的所有https域名下的校验文件,断网状态下安装应用会直接导致校验失败,默认进入每次询问状态。官方应用商店分发应用时,会在安装阶段提前完成域名校验,因此安装完成后直接就是允许状态,不需要等待安装后的系统校验流程。
实现默认无弹窗唤起的必要配置
  • 拆分intent-filter规则:将支持自动校验的https链接和不支持自动校验的自定义scheme链接拆分到两个独立的intent-filter中,仅给https链接对应的过滤器开启android:autoVerify="true",避免规则冲突导致校验失败。
  • 部署域名校验文件:所有配置在自动校验过滤器中的https域名,必须在域名根目录的.well-known/assetlinks.json路径下部署校验文件,文件中需要填写应用包名、对应签名证书的SHA256指纹。注意debug、release签名的证书指纹都需要配置,本地测试debug包时才能正常通过校验。
  • 校验配置正确性:配置完成后可以通过adb命令手动触发校验、查看结果,无需反复重装应用:
    • 触发重新校验:adb shell pm verify-app-links --re-verify 你的应用包名
    • 查看校验状态:adb shell pm get-app-links 你的应用包名
      当返回结果中对应https域名的状态显示为verified时,代表校验通过,后续触发对应https链接会直接唤起你的应用,不会弹出选择询问弹窗。

修正后的intent-filter配置参考:

<!-- 支持自动校验的HTTPS App Links 单独配置 -->
<intent-filter android:autoVerify="true">
    <action android:name="android.intent.action.VIEW"/>
    <category android:name="android.intent.category.DEFAULT"/>
    <category android:name="android.intent.category.BROWSABLE"/>
    <data android:host="serverapps.page.link" android:scheme="https"/>
    <data android:host="dev-servers-app.web.app" android:scheme="https"/>      
</intent-filter>

<!-- 自定义Scheme链接单独配置,不参与自动校验 -->
<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:host="serversapplink" android:scheme="serversappdev"/>
</intent-filter>

注意:非http/https的自定义scheme链接无法实现无弹窗默认唤起,这类链接触发时系统始终会弹出应用选择弹窗,需要用户手动确认选择你的应用打开。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 15:45:32