Für eine App brauchte ich eine Möglichkeit, dass der Nutzer direkt aus der App heraus Behörden anrufen oder ihnen eine Email schicken kann. Dabei war ich positiv begeistert wie einfach sich diese Funktionalität umsetzen lässt. Grundlage dafür ist immer der Namensraum Windows.ApplicationModel. Von diesem aus kann dann auf die Anruffunktion (Call), die Funktionalität für E-Mails (EMail) oder weitere Dienste (Appointment, Chat, …) zugreifen kann.

Obwohl sehr einfach, ist der Aufwand zum Schreiben einer E-Mail dabei sogar noch vergleichsweise groß. Denn im Grunde muss man sich nur die entsprechende EmailMessage erstellen, der man neben den Empfängern durchaus auch alles andere zuweisen kann was so eine E-Mail braucht. Verschickt wird sie anschließend nicht direkt, sondern über den EmailManager wird das Emailprogramm geöffnet. In diesem sind dann alle angegebenen Inhalte bereits der E-Mail zugewiesen und somit muss der Nutzer dann ggf. nur noch auf Senden klicken.

public void WriteEmail()
{
   var message = new EmailMessage();
   var recipient = new EmailRecipient(Authority.EMail, Authority.Name);
   message.To.Add(recipient);
   EmailManager.ShowComposeNewEmailAsync(message);
}

Noch viel einfacher ist es Anrufe vorzunehmen. Dabei wird der PhoneCallManager genutzt über den mit ShowPhoneCallUI eine UI für Anrufe angezeigt wird. Der Nutzer entscheidet dann ob er anrufen möchte oder nicht.  Dieser UI kann man somit auch nur eine Bezeichnung des Anrufziels und natürlich die anzurufende Nummer übergeben.

public void CallPhoneNumber()
{
   PhoneCallManager.ShowPhoneCallUI(Authority.Phone, Authority.Name);
}