Actuar quan entra una trucada a les aplicacions amb Windows Phone

Aquí teniu un gràfic del model d’execució de Windows Phone.

model_exec_wp

Com podeu veure les aplicacions passen a estat Dormant quan no estan en primer pla. Posteriorment si el sistema determina que necessita més memòria els passa a un estat Tombstoned.

Aquests dos estats són completament recuperables. La diferencia entre un i l’altre és que el primer tot està a memòria i el segon no.

Una aplicació passa a segon pla quan premem el botó de Windows o quan l’aplicació crida un altra aplicació. O bé quan el sistema ho necessita. En tots els casos tal com veieu a la gràfica es crida OnNavigatedFrom.

En una trucada entrant no és així. En aquest cas no es considera que la App passi a segon pla. Mentre tu parles l’aplicació continua la seva execució. Això significa que no es crida el OnNaviogatedFrom i per tant no ens dóna cap tipus de pista que hi ha una trucada entrant.

Per sort, si tenim els events Obscured i Unobscured. Aquí teniu un link que us dóna molta información : How to handle phone calls and other interruptions in Windows Phone, tot i que he detectat un petit error en el codi font. Aquí poso corretgit:


App<span style="font-family: Consolas; font-size: small;"><span style="font-family: Consolas; font-size: small;">.RootFrame.Obscured += RootFrame_Obscured;</span></span>

App.RootFrame.Unobscured += RootFrame_Unobscured;

void RootFrame_Obscured(object sender, ObscuredEventArgs e)
{
oTimer.Stop();
txtStatus.Text = "Obscured event occurred";
}

void RootFrame_Unobscured(object sender, EventArgs e)
{

oTimer.Start();
txtStatus.Text = "Unobscured event occurred";
}

Anuncis

Deixa un comentari

Fill in your details below or click an icon to log in:

WordPress.com Logo

Esteu comentant fent servir el compte WordPress.com. Log Out / Canvia )

Twitter picture

Esteu comentant fent servir el compte Twitter. Log Out / Canvia )

Facebook photo

Esteu comentant fent servir el compte Facebook. Log Out / Canvia )

Google+ photo

Esteu comentant fent servir el compte Google+. Log Out / Canvia )

Connecting to %s