【问题标题】:Browser to Android app to browser浏览器到 Android 应用程序到浏览器
【发布时间】:2016-12-29 04:19:54
【问题描述】:

我有一个通过网页上的意图打开的 android 应用程序。这个应用程序做的事情很少,当它完成后,我想回到另一个页面上的浏览器。 我可以这样做,但它会打开一个新标签,而我想在不打开新标签的情况下更改页面。

这就是我的工作:

            Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(callbackUrl));
            startActivity(browserIntent);
            MainActivity.this.finish();

有没有办法做到这一点?

谢谢

【问题讨论】:

标签: android android-intent callback android-browser


【解决方案1】:

我找不到任何关于如何在原始浏览器中更改数据的信息(而且这似乎不是一个合理的操作)但您可以在这里做些什么:

  • 在您的网页上生成一个session_id (user_id/whatever_id) 并将其存储在某处(cookie、本地存储或仅在内存中)
  • 启动 Intent 时传递此 ID (<a href="my.special.scheme://session_id">)
  • 在应用程序中获取此 ID,如 here 所述
  • 然后您必须制作一个简单的 Web 应用程序,该应用程序将保存一对:id - URL,并在第一次获取请求后使其无效
  • 当您想要返回浏览器并重定向时,请将此 URL(例如 myserver.net/store?id=<session_id_here>&url=google.com)发送到提到的服务器
  • 然后只需“返回”浏览器
  • 当您的网页恢复活动时,获取此信息并询问服务器是否有任何网址(例如myserver.net/get?id=<session_id_here>
  • 获取此网址并转到它 (window.location.href = <url>)

【讨论】:

  • 它可以是一个选项。我想到了一项等待 android 应用程序响应的工作,当它到来时,页面会重新加载到我想要的链接上。我不太喜欢它,我仍然希望有更好的解决方案。谢谢。
猜你喜欢
  • 1970-01-01
  • 2011-08-09
  • 1970-01-01
  • 2014-10-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-26
相关资源
最近更新 更多