Chiar dacă am rămas fan Windows Phone, urăsc faptul că sunt atât de puțini developeri care se gândesc să dezvolte aplicații pentru acest sistem de operare. Așadar, zilele trecute, am trecut pe Android. Iar cea mai mare problemă am întâmpinat-o cu transferul mesajelor (sms-urilor) de pe Windows Phone (8.1) pe Android (Marshmellow).

După ce am căutat o aplicație care să facă acest lucru out-of-the-box și am descoperit că nu există așa ceva (sau n-am știut eu unde și cum să caut), am găsit următoarea metodă care funcționează. O redau în continuare în eventualitatea că mai sunt și alții ca mine.

De ce ai nevoie

  • un Windows Phone, cel de pe care dorești să transferi mesajele;
  • un calculator care să aibă Python 2.7 instalat;
  • un dispozitiv Android, cel pe care dorești să transferi mesajele.

Primul pas: exportul mesajelor de pe Windows Phone

export_mesaje_windows_phoneÎn primul rând, trebuie să exportăm mesajele de pe Windows Phone într-un fișier pentru a le putea importa mai apoi. Cea mai bună soluție este aplicația contacts+message backup, care este gratuită și este dezvoltată chiar de către Microsoft.

După ce o vei instala, aceasta va apărea la finalul ecranului Setări. După ce apeși pe contacts+message backup, vei putea alege ce dorești să exporți: sms, mms și/sau contacte. Apoi alegi unde să se salveze fișierul de export. Ideal ar fi să ai deja un card de memorie introdus în dispozitiv, dar e ok și fără, în acest caz alegiun director din dispozitiv.

La finalul procesului, va fi generat un fișier cu extensia .msg, care trebuie convertit în formatul acceptat de Android.

După ce muți fișierul .msg pe calculator, poți trece la pasul al doilea.

Pasul al doilea: convertirea fișierului .msg

Acest fișier .msg pe care l-ai mutat pe calculator este, de fapt, un fișier text care conține toate mesajele din Windows Phone-ul tău într-un format xml special. Pentru a putea fi citit de Android, va trebui convertit într-un fișier .xml.

Dacă ești curios ce conține, îl poți deschide cu orice editor de text (chiar și Notepad), dar pentru a-l putea citi mai ușor îți recomand un xml viewer. Vei observa următoarele câmpuri:

  • Message: care deține toate detaliile mesajului;
  • Recepients (știu că e scris greșit, dar dezvoltatorii aplicației de la Microsoft se pare că n-au observat încă): conține destinatarul/destinatarii mesajului;
  • Body: conținutul mesajului;
  • IsIncoming: indică dacă mesajul este primit sau trimis;
  • IsRead: indică dacă mesajul a fost citit;
  • Attachments: conține atașamentele (pentru mms);
  • LocalTimestamp: timestamp-ul mesajului în format Windows (poți citi mai multe despre Windows timestamp aici);
  • Sender: expeditorul mesajului.

Ce vrem de fapt să facem este să transformăm fișierul respectiv într-unul compatibil cu Android, care trebuie să conțină un singur câmp, cu mai multe atribute, astfel:

  • sms: singurul câmp, care conține toate detaliile mesajului, incluse în mai multe atribute (cele mai importante sunt listate mai jos);
  • address: conține expeditorul dacă mesajul este primit sau destinatarul dacă mesajul este trimis;
  • date: timestamp-ul în format UNIX;
  • type: are valoarea 1 dacă mesajul este primit și 2 dacă mesajul este trimis;
  • body: textul mesajului;
  • read: indică dacă mesajul a fost citit sau nu.

convert

Pentru a face convertirea, asigură-te că ai Python 2.7 instalat pe calculator și descarcă fișierul de aici, realizat de Matteo Contrini.

După ce-l dezarhivezi, poți rula programul fie direct din terminal cu comanda python convert.py, fie, în Windows, dând dublu click pe fișierul convert.py.

La final, vei găsi în același director în care se găsește fișierul .msg un alt fișier wp_messages.xml.

Pasul al treilea: importul mesajelor în Android

import_mesaje_androidPentru acest ultim pas va trebui să-ți instalezi din Google Play aplicația gratuită SMS Backup & Restore.

După ce adaugi fișierul wp_messages.xml pe dispozitivul Android, lansezi aplicația SMS Backup & Restore, apeși pe Restore și urmezi pașii din aplicație. În cele din urmă, va apărea o fereastră cu o bară care va afișa progresul importului. Dacă ai multe mesaje, acest proces ar putea dura chiar și câteva ore. La mine, a durat în jur de două ore, pentru importul a 14748 de mesaje.

După ce este gata, poți verifica dacă totul e ok deschizând aplicația de mesagerie din Android.