android 应用程序中的深层链接
Deeplinking in android application
我正在尝试在我的应用程序中引入深层链接。这是过程:
- 打开 Android 应用程序
- 单击一个按钮
- 按钮打开一个 chrome 自定义标签,其中包含特定的 url
- Chrome 浏览器显示表格
- 当你提交表单时,你重定向到支付页面(支付页面url是xyz.com/objetId?callbackUrl=encodedCharacters之类的东西)当我被重定向到这个支付页面时url,我想为同一个 Android 应用返回另一个 activity。因为对于这个 url 有一个 webView 意图。我想在应用程序中显示它。
我尝试为深层链接添加意图过滤器。当我仍然提交表单时,我停留在 chrome 自定义选项卡中。 (我的意思是在浏览器中)但我想回到应用程序。
可能吗?
基本上,您需要使用 java 脚本接口在 webview 中监听提交操作。 Webview 有 addJavascriptInterface
方法来做到这一点。 Android 此处的文档 Binding JavaScript code to Android code 和示例
example_1
example_2
我在 AndroidManifest.xml 中使用自定义方案解决了我的问题
<data android:host="backToApplication"
android:scheme="someSchemeLikeHttp"/>
我使用 https 作为方案,但对于链接,默认应用程序是 phone 中的默认浏览器。我更改了模式,并在 url 回调中发送我的模式和主机,如
?callback_url=someSchemeLikeHttp://backToApplication
现在对我有用了。
我正在尝试在我的应用程序中引入深层链接。这是过程:
- 打开 Android 应用程序
- 单击一个按钮
- 按钮打开一个 chrome 自定义标签,其中包含特定的 url
- Chrome 浏览器显示表格
- 当你提交表单时,你重定向到支付页面(支付页面url是xyz.com/objetId?callbackUrl=encodedCharacters之类的东西)当我被重定向到这个支付页面时url,我想为同一个 Android 应用返回另一个 activity。因为对于这个 url 有一个 webView 意图。我想在应用程序中显示它。
我尝试为深层链接添加意图过滤器。当我仍然提交表单时,我停留在 chrome 自定义选项卡中。 (我的意思是在浏览器中)但我想回到应用程序。
可能吗?
基本上,您需要使用 java 脚本接口在 webview 中监听提交操作。 Webview 有 addJavascriptInterface
方法来做到这一点。 Android 此处的文档 Binding JavaScript code to Android code 和示例
example_1
example_2
我在 AndroidManifest.xml 中使用自定义方案解决了我的问题
<data android:host="backToApplication"
android:scheme="someSchemeLikeHttp"/>
我使用 https 作为方案,但对于链接,默认应用程序是 phone 中的默认浏览器。我更改了模式,并在 url 回调中发送我的模式和主机,如
?callback_url=someSchemeLikeHttp://backToApplication
现在对我有用了。