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

Android深度链接无法从浏览器唤起,极简教程配置仍失效

深度链接配置问题:点击链接仅打开浏览器,测试时DNS解析失败

我在Android应用中配置深度链接时遇到问题,即使参照最简教程完成配置,点击链接仍只会打开浏览器。使用Android Studio的App Link Testing功能加载链接https://www.chaitanyamunje.com/hello/GeeksForGeeks时,浏览器显示无法访问该站点,提示“DNS_PROBE_FINISHED_NXDOMAIN”。


实时代码

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools">
    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/Theme.DeepLinkTest">
        <activity android:name=".MainActivity"
            android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>

            <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="www.chaitanyamunje.com"
                    android:scheme="https" />
            </intent-filter>

            <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="www.chaitanyamunje.com"
                    android:scheme="http" />
            </intent-filter>
        </activity>
    </application>
</manifest>

MainActivity.kt

package me.paxana.deeplinktest

import android.net.Uri
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.TextView

class MainActivity : AppCompatActivity() {

    private lateinit var messageTV: TextView
    private var uri: Uri? = null

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        messageTV = findViewById(R.id.idTVMessage)
        uri = intent.data

        if (uri != null) {
            val parameters = uri!!.pathSegments
            val param = parameters[parameters.size - 1]
            messageTV.text = param
        }
    }
}

问题原因&解决方案

核心问题

  1. 域名不存在:www.chaitanyamunje.com是无效域名,DNS解析失败,导致Android系统无法验证App Links的合法性,直接跳转浏览器。
  2. 无应用选择触发:对于http/https链接,系统需要验证域名与应用的绑定关系(通过assetlinks.json),无效域名无法完成验证,不会弹出应用选择弹窗。

快速解决方法

1. 用自定义Scheme测试(无需域名)

修改Manifest中的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="deeplink"
        android:scheme="myapp" />
</intent-filter>

测试链接改为myapp://deeplink/hello/GeeksForGeeks,点击后会直接触发应用选择。

2. 强制测试http/https链接逻辑

用adb命令直接让应用处理链接,跳过系统验证:

adb shell am start -W -a android.intent.action.VIEW -d "https://www.chaitanyamunje.com/hello/GeeksForGeeks" me.paxana.deeplinktest

这样可以验证MainActivity中的Uri处理逻辑是否正常。

3. 正式配置App Links(需真实域名)

如果要上线http/https的App Links:

  • 购买一个真实可解析的域名
  • 在域名根目录放置assetlinks.json文件,验证应用签名与域名的关联
  • 确保Manifest中的intent-filter配置正确

代码优化建议

在MainActivity中添加日志,确认是否收到深度链接Intent:

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)
    messageTV = findViewById(R.id.idTVMessage)
    uri = intent.data

    android.util.Log.d("DeepLink", "收到的Uri: $uri") // 添加日志

    uri?.let {
        val param = it.pathSegments.lastOrNull() ?: "无参数"
        messageTV.text = param
    }
}

内容的提问来源于stack exchange,提问作者Paxana Non Grata

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 16:20:30