当从内置的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>
我在堆栈中经历了类似的问题,找不到有效的解决方案。预先感谢您的帮助:)