android - 如何仅通过地址栏中的 URL 打开应用程序
问题描述
我正在创建一个应用程序。需要重定向地址,该地址应该打开我的应用程序。
所以一般来说 - 当有人在 Android 浏览器中访问正确的 URL 链接时,我想打开我的应用程序。
我App Links
在我的 Android 应用程序中使用App Links Assistant
. 所以我添加了一个适当的意图过滤器,例如:
<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:scheme="https" android:host="example.com" android:path="/app" />
</intent-filter>
然后添加一些逻辑以在用户访问站点时重新加载我的应用程序。我将我的应用程序与我的网站与Digital Asset Links JSON
文件相关联。我已经对其进行了测试,并且在助理经理中一切正常。
所以..我在浏览器中输入了地址,只有页面启动了。
添加到index.html
一些<a href="">
链接来测试它。
<a href="http://example.com/app">HTTP</a><Br>
<a href="https://example.com/app">HTTPS.</a><br>
<a href="app://example.com/app">APP</a><br>
以上所有链接按预期打开应用程序。
重定向?我已经在META
标签中添加了重定向到同一个站点...是的,已经创建了一个循环,可以预测。网站加载一遍又一遍。
<META http-equiv="refresh" content="0;URL=http://example.com/app">
同样的情况,如果将协议更改为app
重定向META
标签,则不会不断加载页面。
我应该改变什么?也许有一些JS
脚本可以点击该链接?
我的应用程序使用外部 SSO 模块,该模块应在用户登录时重定向回应用程序。现在,当我可以注册或登录时,它会打开一个外部浏览器,然后重定向到一个站点,然后我必须关闭浏览器才能返回应用程序...对于这种情况,也许还有另一种解决方案,而不是通过另一个站点重定向到后端应用程序。我也不是 SSO 模块的开发人员,因此无法通过重定向来改变行为。
谢谢你。
解决方案
需要重定向地址,该地址应该打开我的应用程序。
这通常是不可能的。很少有(如果有的话)Android Web 浏览器会接受除普通超链接之外的任何应用程序链接。
当然,请注意,Web 浏览器根本不需要支持应用程序链接,并且有许多适用于 Android 的 Web 浏览器。
我应该改变什么?
改变你的期望。
推荐阅读
- python - 模拟 django 测试 - 为什么这个补丁函数仍然被调用?
- git - 如何在不下载文件的情况下使用 git clone 设置 repo?
- django - Django 外连接
- javascript - 如果我输入错误的路线,如何在 Node.js 中显示“404 not found”?
- authentication - 删除 ibus 后 Manjaro 无法登录:出现新的登录屏幕并且没有会话可供选择
- gmail-api - 在 gmail api 身份验证期间出现错误“302”
- flask - flask_socketio 和 React 客户端 - 发送不起作用
- ios - 将 JSON 整数转换为字符串时遇到问题 (Swift 5)
- unity3d - UnityAds 3.4.4 IOS重复
- google-apps-script - 谷歌搜索控制台 API 错误 400 “parseError”