如何仅通过地址栏中的URL打开应用程序

时间:2018-12-19 17:01:42

标签: android android-studio

我正在创建一个应用程序。需要重定向地址,并且该地址应打开我的应用程序。

因此,一般来说-当有人在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文件的网站相关联。我已经对其进行了测试,并且在Assistant Manager中一切正常。

所以..我在浏览器中输入了地址,只有页面开始了。

已向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模块的开发人员,因此无法通过重定向更改行为。

谢谢。

1 个答案:

答案 0 :(得分:0)

  

需要重定向地址,该地址应打开我的应用程序。

那通常是不可能的。除了普通的超链接以外,很少有Android Web浏览器会支持应用程序链接。

请注意,当然,根本不需要Web浏览器支持应用程序链接,并且有很多 Android的Web浏览器。

  

我应该改变什么?

改变您的期望。