1

WP7 新手在这里..
在我的应用程序中,我使用嵌入式 Web 浏览器控件来加载外部网页。

我在该应用程序中有一个基于 PIN 的验证步骤,其中涉及
1)用户离开当前应用程序(在嵌入式 Web 浏览器中加载了一个外部网页)以启动 SMS 收件箱。
2) 用户阅读他刚刚收到的短信,其中有 PIN。我正在向用户发送这条短信。
3) 然后用户需要通过点击返回按钮恢复到原来的应用程序,输入他之前在 SMS 中收到的 PIN。

一旦用户进入 Step2,我的应用程序将进入后台,随后将被删除。一旦用户进入 Step3,我想恢复应用程序状态(使用嵌入式 Web 浏览器控件),而无需再次发出新的 HTTP 请求来加载网页。

所以,考虑到给定的场景,我有以下两个问题-
1)有没有更好的方法来完成这一切,比如不必退出原始应用程序,仍然让用户阅读短信。(即任何 api 来读取短信?)
2)有没有办法序列化浏览器状态/保存整个网页(带有图像、css、js),这样整个网页可以完全按照它的方式呈现,当用户离开正在运行的应用程序。

要点:
1)我只能使用短信作为沟通渠道。我不能使用原始推送通知通道之类的东西,它可以让我在不退出应用程序的情况下向用户显示 PIN。
2) 我的目标是 Windows phone 7.0 运行时,但如果 Windows Mango 更新中有更好的选择,请告诉我。

非常感谢任何形式的帮助。

更新:添加了嵌入式 Web 浏览器组件的链接。

4

2 回答 2

2

1) 没有 API 可以让您从应用程序内部访问消息传递中心的内容。这是出于隐私目的而设置的。

2) 默认情况下,Web 浏览器会保存其状态。因此,如果您离开您的应用程序,然后返回 - 相同的网页仍然存在,除非您在激活时明确重新导航

于 2011-08-09T06:52:51.947 回答
1

1) 更好的方法是不要将网页嵌入应用程序中。只需建立一个移动网站。如果所有功能都在网页中,那么尝试将其放入应用程序中只会遇到问题。

Web 浏览器控件不打算用于创建替代浏览器(这实际上是您正在做的事情)。

2)您可以尝试使用SaveToString()方法在墓碑化时存储页面的状态,但这不允许修改页面,因为它已加载(包括任何动态更新的内容或 javascript 中的任何状态)。如果您有多个页面,您还需要分别维护内部 backstack 和每个页面的状态。

简短的回答:如果你想把你的应用程序逻辑放在一个 webBrowser 控件中,那么你就不能支持 tombstoning。Fast-App-Switching(在 Mango 中)部分解决了这个问题,但没有完全解决。

于 2011-08-09T08:38:46.507 回答