Como usar Media Choosers en Modo Debug

En Windows Phone 7 contamos con Launchers y Choosers, estas son tareas que me permiten acceder a los recursos compartidos del teléfono, escoger el teléfono de un contacto, su correo, una imagen o hasta tomar una foto es el ejemplo de un Chooser.

Cuando uno se encuentra haciendo el desarrollo y quiere depurar o hacer debug con un equipo real en Visual Studio cuando usa ciertos tasks, Visual Studio no necesariamante va a funcionar.

Por ejemplo si yo quiero hacer un debug sobre un PhotoChooserTask

        private void Button_Click_1(object sender, RoutedEventArgs e)
        {
            PhotoChooserTask pct = new PhotoChooserTask();
            pct.ShowCamera = true;
            pct.Completed += new EventHandler<PhotoResult>(pct_Completed);
            pct.Show();
        }

        void pct_Completed(object sender, PhotoResult e)
        {
            if (e.TaskResult == TaskResult.OK)
            {
             //...
            }

        }

Si estoy trabajando con el emulador no hay problema. Si tengo conectado el equipo, el evento Completed a través del e.TaskResult va a ser Cancel siempre, por lo tanto hace difícil trabajar. Ya Peter Foot en este artículo documenta este comportamiento para los diferentes tasks.

Este comportamiento tiene relación con el uso del software Zune para gestionar la conexión al teléfono y poder ofrecernos tareas de depuración.

Revisando las herramientas que vienen con la instalación gratuita para desarrollo en Windows Phone encontramos en el update de Enero (venía también en el update de Octubre – que ahora está incluido en el de Enero) una herramienta que se llama Windows Phone Connect Tool

FliCBF6

Se encuentra en la carpeta C:Program FilesMicrosoft SDKsWindows Phonev7.0ToolsWPConnect y para poder usarlo se debe entrar por Command Prompt (con permisos de Administrador)

FliE206

Antes de ejecutarlo, conectar el teléfono, cerrar Zune. Una vez que ejecutes esto tienes la posibilidad de usar la cámara y otros tasks sin problemas.