Android Chrome自定义选项卡链接不会启动应用程序,但移动Chrome浏览器会启动

Android Chrome自定义选项卡链接不会启动应用程序,但移动Chrome浏览器会启动,android,android-intent,deep-linking,Android,Android Intent,Deep Linking,我正试图通过浏览器链接启动我的android应用程序 当我通过chrome浏览器打开链接时,它成功地显示了应用程序对话框选择器,其中显示了可用于此方案的应用程序,如下所示 但是当通过Chrome自定义选项卡打开链接时, 它只是重定向到站点,而不显示应用程序对话框选择器 我需要它来启动应用程序或显示对话框选择器,当链接从另一个应用程序(如gmail)打开时,该应用程序打开应用程序内浏览器,而不仅仅是在chrome浏览器中 这是我的当前意图过滤器 <intent-fi

我正试图通过浏览器链接启动我的android应用程序

当我通过chrome浏览器打开链接时,它成功地显示了应用程序对话框选择器,其中显示了可用于此方案的应用程序,如下所示

但是当通过Chrome自定义选项卡打开链接时, 它只是重定向到站点,而不显示应用程序对话框选择器

我需要它来启动应用程序或显示对话框选择器,当链接从另一个应用程序(如gmail)打开时,该应用程序打开应用程序内浏览器,而不仅仅是在chrome浏览器中

这是我的当前意图过滤器

            <intent-filter>
                <data 
                    android:scheme="http" 
                    android:host="www.myapp.com" />
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />        
            </intent-filter>


如果有人能指出,那将是一个很大的帮助。谢谢

如果有人遇到同样的问题,下面是我所做的。要使用Chrome自定义选项卡浏览器启动应用程序,您需要将方案设置为非web链接格式,并将其设置为自定义方案(以下示例)。因为显然,Chrome自定义选项卡将web链接方案视为普通链接,因此在浏览器中启动它

所以从

            <intent-filter>
                <data 
                    android:scheme="http"
                    android:host="www.myapp.com" />
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT"/>
                <category android:name="android.intent.category.BROWSABLE" />        
            </intent-filter>

将方案更改为自定义方案,这样,您的应用程序的方案将是唯一由浏览器处理的方案。这是与下面给出的方案的链接示例~myapp://myapp.app (请注意,此链接在android应用程序中不可单击,但您可以将其放置在网站html锚定标记的href中)



你说的“应用程序内浏览器”是什么意思?哦,很抱歉这个含糊不清的术语。我所指的术语“应用程序内”是指当单击应用程序中的链接时在应用程序内打开的web浏览器。例如,在facebook中,当您从页面单击网站链接时,它会打开自己的浏览器,而不是设备中的默认浏览器(例如Chrome)。它也不同于WebView。希望它有意义,我不明白<代码>单击应用程序中的链接时。该链接将显示在哪里?那个浏览器是从哪里来的?什么样的浏览器?您是如何将其添加到应用程序的?我找到了应用程序内浏览器术语。它被称为Chrome定制标签。但还是没有运气从它启动我的应用程序。
        <intent-filter>
            <data 
                android:scheme="myapp" 
                android:host="myapp.app" />
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />        
        </intent-filter>