Skip to content

Android Stuff

Apps and Tips for Android…

Archive

Archive for February, 2010

A simple App to backup and restore SMS Messages, useful when doing a factory reset or installing custom ROMs. The backup is stored in /sdcard/SMSBackupRestore folder.

Features:

  • Backup SMS Messages in XML format.
    • Choose a scheduled time to automatically backup everyday.
    • Choose the name of the file to backup to.
    • Option to add and XSL style sheet to the XML file, so that the file can be opened with a browser for viewing easily. Click here to download a sample XSL File. Copy it in the same folder as the Backup XML file and then open the XML file in a browser like Internet Explorer or Firefox.
    • Option to add the date in readable format.
    • Backup format is independent of the Android version so the messages can be easily moved from one phone to another, irrespective of which version of Android it has. Tested with 1.5, 1.6, 2.01, 2.1.
  • Option to choose the format for the auto-generated file name.
  • Restore SMS Messages.
    • Option to select the backup file to be restored from the folder.
  • View Messages in the backup files.
  • Delete all SMS Messages on the Phone.
  • Email a backup file.
  • Delete existing backup files.
    • Option to delete old files automatically after specified number of days.
  • Import SMS Messages from Windows Mobile.
  • Import SMS Messages from Nokia.
  • Import SMS Messages from Sony Ericsson.
  • The backup files can also be viewed on the computer and edited using MS Excel.

Please report any problems you are having with the App here in the comments section or email me with the details as I cannot respond to problems in the Android Market. My email address is on the market.

Answers to some Frequently Asked Questions can be found here.

Download:

It can be downloaded from the Android Market, search for it or scan this QR Code with barcode scanner:

Click here to view on Cyrket

Click here to view on AppBrain.com

Click here to download from SlideMe.org

User Interface:

The screen has 6 buttons:

  • Backup SMS Messages: Backup all the messages on the phone to the xml file. Existing file is overwritten.
  • Restore SMS Messages: Reads the xml file and creates a new message for every entry found in the file.
  • View SMS Messages: View the SMS Messages in the Backup files.
  • Delete Backup Files: Allows selection of backup files to be deleted.
  • Delete SMS Messages: Deletes all the messages on the phone, so that a Restore can be performed.
  • Donate: If you wish to donate for the App via PayPal.

Menu Options:

  • Help: Help information about the App.
  • Preferences: Opens the Preferences Screen.
  • Send by Email: Allows you to send the backup file by Email.

Preferences:

  • Use Scheduled Backups: If automatic backups should be performed everyday.
  • Time of Backup: When performing automatic backups, at what time should the backups be performed.
  • Days to Keep Old Backups: When performing automatic backups, backup files older than these many days will be deleted after the backup is performed. To keep an older file rename it so that the file name starts with _ (underscore).
  • Disable Vibration: Disables the vibration on completion of an operation.
  • Add Readable Date: Add the date in human readable format.
  • Add XSL Tag: Add Xsl tag to view backup file in browser. Click here to download a sample XSL File. Copy it in the same folder as the Backup XML file and then open the XML file in a browser like Internet Explorer or Firefox.
  • Add Contact Names: Adds the name of the contact to the backup.
  • Enable Logging: For troubleshooting purposes, logs any errors encountered to the system log.
  • Do not show Ads: Removes the Ads displayed in the App. Needs restart of the App to take effect.
  • I have Donated!: Stops the reminder about donating.

Known Problems / Issues:

  • If you are running any “Task Killer” app that kills apps on a schedule (like Advanced Task Manager), make sure that you exclude SMS Backup & Restore from it, otherwise the Scheduled Backups may not work properly. This App displays a notification every time it backs up with the details of the backup, make sure you are getting those notifications.
  • Some messages threads have the time of restore instead of the actual time of the message. They do get sorted once you open the thread and then go back to the messages. Most of this problem has been fixed in v1.4 of the app but some messages which have alphabetical sender names instead of phone numbers don’t work properly on Android v1.5 and v1.6.
Permissions Required
The App needs the following permissions to work:
  • Storage – modify/delete SD card contents (android.permission.WRITE_EXTERNAL_STORAGE): To create the xml file on the SD card.
  • Your messages – edit SMS or MMS, read SMS or MMS (android.permission.READ_SMS, android.permission.WRITE_SMS): Needed to read SMS during backups and write them during restore.
  • Network communication – full Internet access (android.permission.INTERNET): For displaying Ads.
  • System tools – prevent phone from sleeping (android.permission.WAKE_LOCK): To prevent the phone from going to sleep/suspended state while a backup or restore operation is in progress.
  • Hardware controls – control vibrator (android.permission.VIBRATE): To vibrate the phone when the backup or restore operation is completed.

Fields in the XML File
A lot of people have been asking me about the details of the fields used by the application. Here is some description of the fields:

  • protocol – Protocol used by the message, its mostly 0 in case of SMS messages.
  • address – The phone number of the sender/recipient.
  • date – The Java date representation (including millisecond) of the time when the message was sent/received. Check out www.epochconverter.com for information on how to do the conversion from other languages to Java.
  • type – Sent = 2, Received = 1.
  • subject – Subject of the message, its always null in case of SMS messages.
  • body – The content of the message.
  • toa – n/a, default to null.
  • sc_toa – n/a, default to null.
  • service_center – The service center for the received message, null in case of sent messages.
  • read – Read Message = 1, Unread Message = 0.
  • status – Always -1.
  • readable_date – Optional field that has the date in a human readable format.
  • contact_name – Optional field that has the name of the contact.

All the field values are read as is from the underlying database and no conversion is done by the app. As you can see there are some fields which are not used and probably can be removed but I have kept them for compatibility reasons.

Change Log

v3.4:

  • Fixed the Illegal character problem on Android 2.2.
    Thanks to Juan and Justin for logs and testing.

v3.3:

  • Attempt at fixing the Illegal character problem on Android 2.2

v3.1:

  • Updated to Android 2.2 SDK.
  • Minor Bug fixes.

v3.0:

  • Added Progress Bar to be displayed during Backup and Restore.
  • Updated the contact list in the message viewer.

v2.9:

  • Added a basic message viewer.

v2.8:

  • Bug fix for blank numbers in SMS resulting in error when retrieving names.

v2.7:

  • Bug fix for Scheduled Backup resulting in Force Close in some cases.

v2.6:

  • Fixed a bug where the Restore would fail in some cases.

v2.5:

  • Added preference to Add the Contact Name to the backup.

v2.4:

  • Removed the Location permission requirement.
  • Updated the Admob Library.
  • Added tags specifying that low resolution phones are supported.

v2.3:

  • Fixed the option to choose the file name format.

v2.2:

  • Ads are back, with option to remove them
  • Scheduled Backups
  • Better handling of screen rotation

v2.1:

  • New (and hopefully better looking) Icons.

v2.0:

  • Scheduled Backups – Experimental till March 31 – Use at your own risk!
  • Fixed an Xml parsing error which resulted in “PI must not start with xml” error message.

v1.9:

  • Removed the Ads.
  • Added a BIG Donate button :-) .

v1.8:

  • Added Preferences Screen with:
    • Option to disable Vibration.
    • Option to add Readable Date in the backup XML.
    • Option to add the XSL stylesheet in the backup XML.

v1.7:

  • Fixed a bug where restoring more than 1000 messages did not work properly.
  • Added a partial wake lock so the backup/restore/delete operation continues even if the phone goes to sleep.
  • Now vibrates after a backup/restore/delete operation is finished.

v1.6:

  • Fixed the bug where the selection of file during restore did not work properly and resulted in an error. Thanks Shawn for pointing this out.

v1.5:

  • Added button to facilitate selection of files to be deleted.

v1.4:

  • Fix for the wrong time stamp in the message threads after the restore.

v1.3:

  • Fix for the wrong month in the auto-generated file name.

v1.2:

  • Support for multiple backup files:
    • Backup asks to input a file name.
    • Restore asks to select a file.

v1.1:

  • Added Menu option to send the Backup file by Email.

v1.0:

  • Better handling of special characters in messages.
  • Added prompt during restore to confirm if duplicates should be checked.
  • Faster restore when not checking for duplicates.
  • Backup xml is now properly indented.

v0.3 BETA:

  • Now does not ask to delete (and does not delete) messages before restore.

v0.2 BETA:

  • Fix for the duplicate check during restore.

v0.1 BETA:

  • Initial Release.

Updates URL

http://www.novastor.com/updates

http://myaccount.inasolutions.com.au/updates

Registration URL

http://ws02.novastor.com/backup_storage_commerce_server

http://myaccount.inasolutions.com.au/backup_commerce_server

Upgrade URL

http://ws02.novastor.com/application_update/service.asmx

http://www.inasolutions.com.au/application_update/service.asmx

Update: many people have reported errors encountered with SMS Exporter and although I’d like to fix those problems, its very difficult for me since I do not have a Windows Mobile phone and the application is using a 3rd party library to export the messages. If you are getting errors, please try the other way below.

Looking at the number of hits on my site about moving SMS Messages from WinMo to Android, I decided to try writing a simple tool to export messages from WinMo phones.

Click here to download SMS Exporter. This is an experimental application and since I do not have a Windows Mobile phone I have not been able to test it properly. Any feedback about this app is highly appreciated.

Download the .CAB file from the link above and install it on your phone. Running it will present you with a simple form with an “Export” menu.It will export messages into a SMS.xml file which can be directly imported into any Android phone using the SMS Backup & Restore app.

SMS Exporter uses the Pocket PC and Smartphone 99% .NET MAPI library to read the messages.

If the SMS Exported does not work for you then you can always try the following:

Mario at Homebrew has written an excellent article explaining how to Import/Export/Move/Transfer SMS Messages from Windows Mobile to your Android Phone using PIM Backup and my App SMS Backup & Restore. This process works WITHOUT needing root access on the Android phone. Check it out!

Change Log:
v0.5:

  • Removed the BOM (Byte Order Mark) from the Xml.

v0.4:

  • Added UTF-8 encoding of exported file.

v0.3:

  • Fixed “Invalid type request”errors.

v0.2:

  • Added logging.

v0.1:

  • Initial Release

I have received a lot of emails & comments about adding an option to have Automatic/Scheduled Backups and I want to do that but I am in a dilemma about it. Right now the app displays an advertisement when its opened I get some cents from it every time someone clicks on those. When I add the functionality to add Scheduled Backups there won’t be a need to open the app often as its supposed to take the backups without the user needing to do anything.
I have the option of making a paid app which does not have ads and has the scheduled backups but Google has not enabled paid Apps for developers in Australia so I cannot upload the paid app in the Android Market. The other option I have is to publish the paid app on an alternate market like SlideMe.org but I do not know if users will actually be willing to buy apps from there.

So, I would like to know what your thoughts on:

  • Would you be willing to pay for a paid SMS Backup & Restore app which is ad-free and has Scheduled Backups?
  • If yes, how much would you be willing to pay for it?
  • Would you be willing to buy the paid app from an alternate market like SlideMe.org?
  • Any other way you can suggest where I can get some monetary rewards to keep developing the app and other apps?

Please add your comments on this below or email me at: android at riteshsahu dot com.

Update: I’ve decided to add the scheduled backup option in the app and to keep the apps free for now, with a button to donate on each of the apps. There is a reminder to donate when using scheduled backups.

Switch to our mobile site