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

Chrome自定义标签链接不启动应用程序,但移动chrome浏览器

冀越
2023-03-14

我正试图通过浏览器链接启动我的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>

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

共有1个答案

后易安
2023-03-14

所以,如果有人遇到同样的问题,下面是我所做的。要使用Chrome Custom Tabs browser启动应用程序,您需要将方案设置为非web链接格式,并将其设置为自定义方案(示例如下)。因为显然,Chrome Custom tabs将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中)。

        <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>
 类似资料:
  • 我正在使用ChromeDriver V2.24,我的系统中有Chrome Browser52(未安装,可执行文件)。 NosuchSessionException:没有这样的会话 控制台: 注意:在Windows安全更新之前,当我使用ChromeDriver3.1和Chrome58时,我的脚本运行良好。更新后,我无法启动Chrome浏览器,因为它不是启动浏览器,而是在后台运行。

  • 问题内容: 抱歉,您有愚蠢的问题,但是如何在webdriver中启动Chrome浏览器?我知道我必须指定chromedriver.exe的路径。问题是我无法下载chromedriver.exe,它已被删除。我发现的文件也没有.exe扩展名。我正在使用Eclipse,Java。请帮忙!我按照建议的步骤进行了所有操作,但是没有用。这是我的代码: 这是错误: 失败:测试java.lang.Illegal

  • 我使用以下命令在同一台计算机上启动了集线器和节点: 我尝试使用以下代码实例化一个浏览器窗口: 页面获取成功,我可以使用browser.page看到页面的超文本标记语言代码_source但是节点上的Chrome窗口没有打开。我根本没有指定无头选项。我使用的是95版Chrome和Chromedrive。 请注意,我是在jupyter笔记本上运行代码的,该笔记本托管在充当selenium服务器和节点的同

  • 上面说 ChromeDriver是一个实现W3C WebDriver标准的独立服务器 看起来W3C WebDriver标准只定义了自动化程序和Chromedriver之间的接口。Chromedriver充当HTTP服务器,从自动化程序获取命令。 但是ChromeDriver如何与Chrome通信呢? 还是通过HTTP协议? 如果是,我们在哪里可以得到关于细节的留档?Chrome内部的哪个组件负责处

  • 线程“main”java.lang.IllegalStateException中的异常:驱动程序可执行文件的路径必须由WebDriver.Chrome.driver系统属性设置;有关更多信息,请参见https://github.com/seleniumhq/selenium/wiki/chromedriver。最新版本可从http://chromedriver.storage.googleapis