Mostrando entradas con la etiqueta wp7. Mostrar todas las entradas
Mostrando entradas con la etiqueta wp7. Mostrar todas las entradas

miércoles, 31 de octubre de 2012

Obtener historial de Whatsapp en Windows Phone

La aplicación Whatsapp de Windows Phone no permite enviar una copia de la conversación por email como sí pasa con la versión de Android. Tampoco es posible acceder a los ficheros del teléfono y poder obtener una copia de la base de datos de las conversaciones, ¿o quizás sí?

No hay opción que permita enviar una copia de la conversación.


La respuesta es que sí es posible pero requiere ciertas modificaciones en el dispositivo. Debemos tener instalado el SDK de Windows Phone, hechos el DeveloperUnlock y el InteropUnlock para después instalar la aplicación "WP Root Tools". Por si necesitáis saber como realizar estos cambios en el teléfono dejo una guía del foro  XDA-Developers.

Instalamos WP Root Tools desde la herramienta Application Deployment del SDK de Windows Phone.

Si nunca lo habéis utilizado, es tan sencillo como seleccionar el dispositivo, la ruta de la aplicación en cuestión (.xap) y pulsar el botón Deploy.


Una vez desplegada en nuestro dispositivo seguimos las instrucciones de instalación de WP Root Tools que requerirá algún que otro reinicio. Después podemos utilizar la herramienta y continuar con nuestro propósito.



Desde la vista de "Explorer" podemos recorrer los directorios del teléfono. Ahora tenemos que acceder a la carpeta que contiene la base de datos pero nos encontramos un pequeño obstáculo ya que las aplicaciones instaladas no vienen listadas por sus nombres sino por su GUID. Pero no supone un gran problema ya que mediante la web www.windowsphone.com podemos encontrar el GUID correspondiente buscando la aplicación y la misma URL de la aplicación nos dará el chivatazo:

218a0ebb-1585-4c7e-a9ec-054cf4569a79

Ya conocemos el susodicho número por el que se identifica Whatsapp así que a buscar la base de datos. La ruta es la siguiente:

Applications
    |__ Data
        |__ GUID Whatsapp
            |__ Data
                |__ IsolatedStore
                    |__ 
messages.sdf

WP Root Tools nos permite copiar y pegar ficheros siéndonos muy útil para poder duplicar la base de datos en una carpeta a la que podamos "acceder" mediante una aplicación que nos permita enviar ficheros por correo electrónico por ejemplo. Me explico: copiamos messages.sdf a la carpeta "My Documents" que se encuentra en  la raíz. Una vez copiado, tenemos que renombrarlo a .txt para lo que ya os estaréis imaginando... Sí, desde la aplicación de Office exploraremos los documentos del teléfono y allí se encontrará nuestro messages.txt. La abrimos y como si de un documento de texto legítimo procedemos a Compartir vía correo electrónico. Fácil, ¿verdad?

Ahora desde nuestro PC descargamos el fichero con extensión .txt y lo guardamos con su extensión correspondiente que es .sdf .

Al tratarse de una base de datos SQL Server Compact no vamos a encontrar problemas para poder abrirla desde SQL Management Studio. Tan solo seleccionamos SQL Server Compact como el tipo de servidor y la ruta donde guardamos el fichero. 

Password en blanco.

Nos encontramos con las tablas  "__VERSION", "Conversation" y "Message".




Todo en texto plano para que podamos echar un vistazo sin problemas. Ahora es tiempo de lanzar consultas para obtener las conversaciones que nos convengan. En la tabla Message encontramos las columnas necesarias:

KeyFromMe nos indica si el mensaje lo hemos escrito nosotros siendo 1.
Data contiene el mensaje.
KeyRemoteJid es el usuario con el que has tenido el mensaje. NúmeroTeléfono@s.whatsapp.net
MessageID el identificador del mensaje.

He empleado la siguiente sentencia para obtener una conversación y poder ponerle nombre a tu contacto.

SELECT 
  CAST(
     CASE WHEN KeyFromMe = 1
        THEN 'Yo'
     ELSE 'Contacto'
     END AS nvarchar) AS "Usuario", Data AS "Mensaje"
FROM Message
WHERE KeyRemoteJid='346XXXXXXXX@s.whatsapp.net'
ORDER BY MessageID

Obteniendo lo siguiente:

Cada cuál que lo exporte como quiera.


Espero que os sea útil.


Actualización (Diciembre-2012):
Ha salido la versión 2.8.8. que permite enviarse el historial por e-mail. Pero no adjunta un fichero .txt con la conversación sino el texto en el cuerpo del mensaje. Y no incluye toda la conversación ya que te lo acompaña de un mensaje como el siguiente: "(Este email sólo incluye los mensajes más recientes 498; truncados por Windows Phone.)". Así que si la conversación es más larga, habrá que seguir extrayendo la base de datos. 

jueves, 2 de junio de 2011

WP7 - Debloqueo del Desarrollador


Acabo de recibir un nuevo teléfono con Windows Phone 7 y lo primero que quiero hacer es probar alguna de las aplicaciones que hice. Lo conecto al pc, sincronizo con Zune y demás rollos, abro Visual Studio 2010, elijo que se ejecute la aplicación en el dispositivo, desbloqueo la pantalla para que no haya problemas y... zasss!! Recibo el siguiente mensaje:

Error al iniciar la aplicación. Asegúrese de que la pantalla del dispositivo está desbloqueada
y que dicho dispositivo no está bloqueado por el desarrollador. Para obtener detalles sobre del
desbloqueo del desarrollador, visite la página web http://go.microso

Sí, has leído bien "http://go.microso". Bueno, ¡no pasa nada! Lo que intenta decirte el error es que vayas a C:\Program Files\Microsoft SDKs\Windows Phone\v7.0\Tools\Phone Registration y ejecutes la aplicación PhoneReg.exe con el teléfono conectado al pc.

Aparecerá una formulario donde debes introducir tu usuario y contraseña de Windows Live Id. Puede que te de un error diciéndote que desbloquees la pantalla y luego pulses reintentar, ningún problema.

Tras aceptar el registro devolverá la siguiente ventana:

¡Tan fácil como esto!

Desde este momento, en nuestra cuenta de App Hub aparecerá el nuevo dispositivo y estará listo para poder ejecutar nuestras aplicaciones a través de Visual Studio o Expression Blend.


Y si tienes dudas ya sabes que puedes consultar "http://go.microso" ;-)