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

Android深度链接在亚行工作,但在浏览器上不行

邵阳
2023-03-14

我试图添加深度链接到我的应用程序。我已经为我的一个活动添加了两个意图过滤器,一个用于“HTTP”方案,另一个用于我的自定义方案(我使用的是“示例”)。根据SO中的信息(深度链接意图不起作用),我为每个方案添加了一个意图过滤器,这样我就可以处理example://testhttp://www.example.com/test类型的链接。

        <activity
    android:name="com.myapp.myapp.SplashActivity"
    android:screenOrientation="portrait"
    android:theme="@android:style/Theme.Holo.Light.NoActionBar.Fullscreen" >
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />

        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
    <intent-filter android:label="Intent Filter label">
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />
        <category android:name="android.intent.category.LAUNCHER" />
        <!-- Accepts URIs that begin with "http://www.example.com/test2” -->
        <data android:scheme="http"
              android:host="www.example.com"
              android:pathPrefix="/test2" />

    </intent-filter>
    <intent-filter android:label="Intent Filter label">
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />
        <category android:name="android.intent.category.LAUNCHER" />

        <!-- Accepts URIs that begin with "example://test2” -->
        <data android:scheme="example"
              android:host="test2" />
    </intent-filter>
</activity>
adb shell am start -W -a android.intent.action.MAIN -d "example://test2" com.myapp.myapp
Starting: Intent { act=android.intent.action.MAIN dat=example://test2 pkg=com.myapp.myapp }
Status: ok
Activity: com.myapp.myapp/com.app.myapp.SplashActivity
ThisTime: 357
TotalTime: 357
Complete

当我尝试另一种样式:“http://www.example.com/test2”时,它只尝试在所有3种浏览器中导航到该web页面。

我正在从Android Studio将应用程序部署到我的手机上。我也尝试生成一个调试APK,把它发送到我的手机上,然后安装。两者结果相同。我做错了什么?据我所知,我已经严格遵守了指南(https://developer.android.com/training/app-indexing/deep-linking.html)。我的应用程序需要在商店里才能深度链接到工作吗?

共有1个答案

王季萌
2023-03-14

呃,我的行动是主要的,当它应该被看到的时候...

<intent-filter>
        <action android:name="android.intent.action.MAIN" />

...

<intent-filter>
        <action android:name="android.intent.action.VIEW" />
 类似资料:
  • 深度链接在android中不起作用。我已经把清单代码贴在这里了。当我测试时,它会进入网站,而不会在我的应用程序中打开我的活动。谁能帮我修一下吗? 更新: adb shell am start-W-aandroid.intent.action.VIEW-d"http://www.clinicloud.com/xyz"com.clinicloud.app 使用adb进行测试会打开应用程序,但仅使用浏览

  • 我试图做一个文件上传到一个链接(共享点Rest服务),在chrome浏览器中工作良好,但不是在android WebView。 我知道android webview有很多限制,但我尝试使用以下方法上传一个文件 https://github.com/mgks/os-fileup 它打开浏览器,但它不显示文件名,也不上传任何内容或调用服务,但同样的代码在chrome浏览器中运行良好(请注意,我已经启用

  • 我已将AssetLink文件托管到我们的域中https://ourdomain/.well-known/assetlinks.json并用计算机进行了验证https://developers.google.com/digital-asset-links/tools/generator通过android studio的应用程序链接Assistant,并通过两种方式获得验证状态。但当我共享调试APK进

  • 我有相同的代码,当我运行命令提示符。但它抛出下面的错误,当我尝试用浏览器运行它。 我使用了php amqplib。我的代码简单地连接到RabbitMQ队列并向队列发送消息。凭据是正确的,因为我能够在命令提示符下运行相同的文件。 注意:iconv_strlen():在/var/www/html/php amqplib/vendor/symfony/polyfill mbstring/mbstring

  • 我最近实现了shouldInterceptRequest方法来检测链接的时间“http://sitemercado.com.br/valida“点击在android浏览器中打开它,而不是在webview中内部打开,直到它工作为止。链接在浏览器中打开,但当我回来查看webview应用程序时,它也被加载了,我希望它只在浏览器中加载。 我的代码如下: 我哪里做错了?

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