当从 Gmail 内置浏览器打开包含深层链接的网页时,在我的应用程序中打开深层链接时遇到问题。如果我在 Chrome 浏览器中打开包含深层链接的网页,深层链接可以正常工作。
我的工作流程如下。我收到一封带有链接的电子邮件,当我点击链接时,它会打开一个包含我感兴趣的深层链接的网页。默认情况下,当用户点击邮件中的链接时,该链接会在内置的 gmail 浏览器中打开正文,然后它会打开一个包含指向我的应用程序的深层链接的网页。当用户点击深层链接时,他们会得到一个“找不到页面”。但是,如果用户在 Chrome 或任何其他浏览器中打开邮件正文中的链接,所有这些都可以正常工作。
以下是用户点击网页中的深层链接时应打开的链接
http://127.0.0.1/abc/def com.my.app
我可以从 shell 执行以下命令,并且工作正常
adb shell am start -W -a android.intent.action.VIEW -d http://127.0.0.1/abc/def com.my.app
此外,如果我只是http://127.0.0.1/abc/def com.my.app
输入一封电子邮件并从 Gmail 打开它(不去 gmail 浏览器,它工作正常)
下面是我的意图过滤器设置
<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="127.0.0.1"/>
<data android:scheme="http"/>
<data android:pathPrefix="/abc/def"/>
</intent-filter>
我在堆栈中遇到了类似的问题,但找不到有效的解决方案。在此先感谢您的帮助 :)