访问短信和浏览器内容墓碑

时间:2011-08-09 05:14:27

标签: windows-phone-7 webbrowser-control tombstoning embedded-browser

WP7新手在这里..
在我的应用程序中,我使用embedded web browser控件来加载外部网页。

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

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

因此,在我的脑海中,我有以下两个问题 -
1)是否有更好的方法来完成所有这些,例如不必退出原始应用程序,仍然让用户阅读SMS。 (即任何阅读短信的api?)
2)有没有办法序列化浏览器状态/保存整个网页(使用图像,css,js),这样当用户离开正在运行的应用程序时,整个网页可以完全按照它的方式呈现。

要点:
1)我只能使用SMS作为通信渠道。我不能使用像原始推送通知渠道这样的东西,这可以让我向用户显示PIN,而无需退出应用程序 2)我的目标是Windows phone 7.0运行时,但如果Windows Mango更新中有更好的选项,请告诉我。

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

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

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:1)

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

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

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

简短回答:如果要将应用程序逻辑放在webBrowser控件中,则无法支持逻辑删除。 Fast-App-Switching(芒果)部分地解决了这个问题,但并不完全。