【发布时间】:2011-07-04 16:22:58
【问题描述】:
我有一种情况,我希望将一些数据从移动网站传递到原生 Android 应用程序。一个复杂的问题是,在正常情况下,加载移动网站时可能不会安装原生 Android 应用程序。
这是一个例子:
我是 ExampleApp 的用户,我想与从未安装过 ExampleApp 的您分享来自 ExampleApp 的特定数据。
我会向您发送一封电子邮件,其中包含指向移动网页的链接,该链接知道您在打开链接时想要查看哪些数据。但是,由于数据仅在本机应用程序中可用,而不是移动网络,因此您会被带到一个页面,要求您前往 Android Market 并安装 ExampleApp。
您安装了 ExampleApp,理想情况下,您会被直接带到我与您共享的数据片段。
最大的问题在于查看移动网页和安装 ExampleApp 之间的脱节。
我考虑了几个解决方案,但都没有成功(也就是说,我可能只是错误地实施了它们):
- 在我们的域上设置一个 cookie,其中包含加载移动网页时的数据。然后,在打开 ExampleApp 时,启动一个 WebView 以请求同一域上的页面并检查 cookie 的值。使用它来确定要在 ExampleApp 中显示的数据。
- 使用 JavaScript localStorage 存储对数据的引用,并使用 WebView 获取该域上的页面并从 ExampleApp 中请求 localStorage 的内容。
在这两种情况下,似乎 WebView 和浏览器都在沙箱中彼此分离,因此您无法访问两者之间的 cookie/localStorage。
还有其他方法可以“留下 crumbtrail”或设置稍后安装的应用可以从浏览器访问的消息吗?
编辑:鉴于一些回应,我应该提一下,我只希望您在链接上单击一次,而不必单击一次,安装应用程序,然后再次单击以将应用程序打开到正确的位置。
【问题讨论】:
-
我会害怕从我的浏览器获取消息的应用程序。看起来我买的那个“酷游戏”会由营销公司支付,只是收集数据。我当然希望你不能这样做!