Uruchamianie zablokowanych aplikacji na emulatorze WP7

|

Jeśli programowałeś na Windows Phone 7 na pewno wiesz, że nie można uruchomić systemowych aplikacji typu Zune. Jednym z wymagań w procesie certyfikacji jest notyfikacja użytkownika kiedy aplikacja zamierza zatrzymać odtwarzanie muzyki użytkownika w tle. Dużo aplikacji jest odrzucanych właśnie z tego powodu. Jednak nie mając urządzenia ciężko jest przetestować to wymaganie. Emulator nie pozwalał na uruchomienie Zune a odblokowanego emulatora dla Windows Phone Mango jak nie było tak nie ma….

Jednak jak się okazuje jest rozwiązanie – w systemie gospodarza znajduje się pewna dllka o nazwie Microsoft.Smartdevice.Connectivity.dll (domyślnie powinna się znajdować w C:\Windows\Microsoft.NET\assembly\GAC_MSIL\Microsoft.SmartDevice.Connectivity\
v4.0_10.0.0.0__b03f5f7f11d50a3a) która służy do połączenia aplikacji desktopowej z emulatorem. Wystarczy dodać ją do projektu i skorzystać z jej klas. Dlatego też, stworzyłem mały prosty programik, który potrafi uruchomić kilka systemowych aplikacji na emulatorze.

Jak to działa od strony kodu? Sam kod nie jest zbytnio skomplikowany. Wystarczy w metodzie GetApplication podać jako parametr GUID danej aplikacji aplikacji.

DatastoreManager manager = new DatastoreManager(CultureInfo.CurrentCulture.LCID);
IEnumerable<Platform> platforms = manager.GetPlatforms();
IEnumerable<Device> devices = platforms.First().GetDevices();

Device d = devices.Last();
d.Connect();

d.GetApplication(new Guid(„APP_GUID”)).Launch();

Poniżej znajduje się lista aplikacji wraz z ich GUID:

  • Calculator - 5B04B775-356B-4AA0-AAF8-6491FFEA5603
  • About - 5B04B775-356B-4AA0-AAF8-6491FFEA560
  • Phone Lock Settings – 5B04B775-356B-4AA0-AAF8-6491FFEA5607
  • Message Hub – 5B04B775-356B-4AA0-AAF8-6491FFEA5610
  • Call History – 5B04B775-356B-4AA0-AAF8-6491FFEA5611
  • Calendar – 5B04B775-356B-4AA0-AAF8-6491FFEA5612
  • Account Manager – 5B04B775-356B-4AA0-AAF8-6491FFEA5616
  • SharePoint Mobile – 5B04B775-356B-4AA0-AAF8-6491FFEA561A
  • Cellular Network Settings – 5B04B775-356B-4AA0-AAF8-6491FFEA561F
  • Bluetooth Settings – 5B04B775-356B-4AA0-AAF8-6491FFEA5620
  • Airplane Mode – 5B04B775-356B-4AA0-AAF8-6491FFEA5621
  • Office Mobile Settings – 5B04B775-356B-4AA0-AAF8-6491FFEA5622
  • WiFi Settings – 5B04B775-356B-4AA0-AAF8-6491FFEA5623
  • Speech Settings – 5B04B775-356B-4AA0-AAF8-6491FFEA5624
  • Zune – 5B04B775-356B-4AA0-AAF8-6491FFEA5630
  • Pictures – 5B04B775-356B-4AA0-AAF8-6491FFEA5632
  • Games – 5B04B775-356B-4AA0-AAF8-6491FFEA5634
  • Device Update Settings – 5B04B775-356B-4AA0-AAF8-6491FFEA5640

Aplikacja WP7 AppLauncher znajduje się tutaj. Do działania wymaga jedynie .NET 4.0


Autor: Andrzej Stolarczyk

Haters gonna hate. But fuck them.