当前位置: 首页 > 知识库问答 >
问题:

深度链接从浏览器不工作的Android

夏侯枫
2023-03-14

深度链接在android中不起作用。我已经把清单代码贴在这里了。当我测试时,它会进入网站,而不会在我的应用程序中打开我的活动。谁能帮我修一下吗?

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.clinicloud.app" >

    <application
        android:name=".MainApp"
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name"
            android:theme="@style/AppTheme.NoActionBar" >
            <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.XXXX.com"
                    android:pathPrefix="/xyz"
                    android:scheme="http"/>
            </intent-filter>
        </activity>
        <activity
            android:name=".OnboardingActivity"
            android:label="@string/app_name"
            android:theme="@style/AppTheme.NoActionBar" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name=".ProfileViewActivity"
            android:label="@string/title_activity_profile_view"
            android:theme="@style/AppTheme.NoActionBar" >
        </activity>
    </application>

</manifest>

更新:

adb shell am start-W-aandroid.intent.action.VIEW-d"http://www.clinicloud.com/xyz"com.clinicloud.app

使用adb进行测试会打开应用程序,但仅使用浏览器不会打开应用程序。

共有2个答案

萧焱
2023-03-14

按照Android开发团队的建议,通过adb测试深度链接非常烦人。我想我们无法理解问题的要点。我们想要一个简单的方法,比如在已经安装了应用程序的同一台设备上粘贴一个指向浏览器的链接,点击GO,然后应用程序启动。但不幸的是,它不会起作用。

原因:

它不是一个纯粹的链接,当你进入浏览器的URL搜索时,它实际上会生成一个不同的URL,例如:'https://www.google.com/search?....'

解决方案:打开一个纯链接

>

  • 正如@Parga Chauhan所建议的,使用另一个应用程序打开链接,这绝对是一个有效的解决方案,因为它是一个纯链接。然而,这并不像预期的那样实际。

    或者,

    2.1、你可以用链接建立自己的简单网页(简单文件*. html),然后点击它打开一个纯链接,下面是网页的一个例子:

    <html>
        <h1>
            <a id="deeplink" href="ss.wohui.learn://subscribed">Deep Link</a>
        </h1>
    </html>

  • 史承福
    2023-03-14

    将此代码添加到清单中。xml

    <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.clinicloud.com"
            android:path="/xyz"
            android:scheme="http" />
    </intent-filter>
    

    对于测试,创建另一个项目并在代码下面运行

    Intent i = new Intent(
        Intent.ACTION_VIEW , Uri.parse("http://www.clinicloud.com/xyz")
    );
    startActivity(i);
    

    也可以在链接中传递参数。有关更多信息,请参阅我的博客文章在Android浏览器中创建链接启动我的应用程序?

     类似资料:
    • 我试图添加深度链接到我的应用程序。我已经为我的一个活动添加了两个意图过滤器,一个用于“HTTP”方案,另一个用于我的自定义方案(我使用的是“示例”)。根据SO中的信息(深度链接意图不起作用),我为每个方案添加了一个意图过滤器,这样我就可以处理和类型的链接。 当我尝试另一种样式:“”时,它只尝试在所有3种浏览器中导航到该web页面。 我正在从Android Studio将应用程序部署到我的手机上。我

    • 浏览深度分为两部分: 时间/设备筛选 和 浏览深度分析 (详情) 1.时间筛选 便捷按钮有今日、昨日、前日、上周 X、近七天,并且能自定义选择时间段/设备来得出想要的结果报表 2.浏览深度分析 (详情) 1)访问者浏览深度情况,体现网站内容是否足够吸引 2)如有需要,亦可点击下载当前报表及更多数据下载,将报表下载到个人电脑,以供存档及分析

    • 我的应用程序支持电子邮件和外部链接的深度链接。应用程序将打开,并根据url导航到特定屏幕。但我不支持所有的url路径 例如,应用程序应打开,并用于应在浏览器上打开。 由于应用程序支持uri路径,因此两个链接应用程序都会打开。如果应用程序打开,则可以,但如果不支持url,则需要重定向到浏览器。 我尝试使用启动活动,但这再次打开应用程序,因为它支持相同的深层链接网址。 在浏览器中打开url的明确意图是

    • 我在Firebase控制台中设置了一个深层链接,更新了SHA1、SHA256,我尝试从移动浏览器调用深层链接,它完美地打开安装的应用程序,但当我尝试使用从应用程序发送的电子邮件验证链接时,它会转到Play商店。以下是发送验证链接的方式 我的意图过滤器如下所示 我已经将该域名列入了白名单,我重复一下,该链接可以从移动浏览器中获得,但不能从电子邮件中获得。非常感谢您的帮助

    • 我遵循了https://developer.android.com/training/app-indexing/deep-linking.html上的insttructions,但当我想通过触发意图时: 我只是得到 我犯了什么明显的错误吗?

    • 我试图做深度链接,这样当有人从移动浏览器打开链接时,它要么打开应用程序,如果安装了,要么打开播放商店链接下载应用程序。 以下是我的URI: 当我在Android系统上的Mozilla Firefox应用程序中输入这个时,如果安装了我的应用程序,它会打开该应用程序;如果未安装,它会打开play store链接。但是,当我在Chrome中输入相同的内容时,它只会进行谷歌搜索,而不是打开应用程序或pla