5

I have an app that I have been developing that can display sensitive user data.

When the user backgrounds the app, the OS appears to take a screenshot of the app as it was running, and displays it so when the user returns, their state is restored.

I am trying to prevent the user's information from being seen in this screenshot.

My initial idea was to display a Popup of my splash screen image, but it does not seem to render it in ApplicationDeactivated. Is there any other way you might accomplish this?

Todd Main
  • 28,951
  • 11
  • 82
  • 146
William Melani
  • 4,270
  • 1
  • 21
  • 44

2 Answers2

0

I am not sure you are analyzing this correctly. I don't see how the OS could take a screenshot of an app and use that to restore state. Also, if it was true that the OS did that, Tomb Stoning wouldn't be such a big issue in the requirements for an app in the submission process. A dev needs to handle grabbing and saving state on exit and reloading it on start-up again.

If you didn't code this tomb stoning, are you using a frameowrk that has built in support for this? You could disable the tombstoning so certain pieces of information are not stored, and in fact if this data is that sensitive you should make sure it isn't saved. But, if you save it make sure you encrypt it so nothing else could examine the saved state. Although, that shouldn't be possible on Win Phone as the OS is supposed to enforce the boundries between apps.

Alex
  • 12,749
  • 3
  • 31
  • 45
  • 1
    The OP is talking about the navigation stack view when you hold down the back key in Mango. They are trying to hide the 'preview screen' that is shown of the app, not actually store/retrieve any data. I've just tried handling various events and, whilst they are called, they are not executed until the app is resumed which I guess is the problem since the OP wants to display the splash screen before the app gets 'windowed'. – keyboardP Jul 07 '11 at 23:43
  • It's not thinking the screenshot restores the state; sorry that sentence wasn't the best. I want to prevent the 'screenshot' of the app when it's backgrounded from displaying sensitive data. To do this, I want to update the view to display a 'cover page' when the app is backgrounded. – William Melani Jul 07 '11 at 23:43
  • No probs. It's an interesting question as I would've thought that `Navigating` would execute some code just before it gets minimised, but doesn't seem to be the case :/ – keyboardP Jul 07 '11 at 23:46
  • Well I wonder if they are using the thumbnail api like the desktop OS, if so there is a flag that an app can declare to not let it be thumbnailed. I would try using those terms aas a starting point for your search. And if I remember right the thumbnail api's do allow you to choose a screenshot to show in its place as well\ – Alex Jul 07 '11 at 23:46
0

Received a response from Microsoft which indicates that this is not possible in the Mango SDK; it may be added into future releases of the platform.

William Melani
  • 4,270
  • 1
  • 21
  • 44