Skip to content

Android Stuff

Apps and Tips for Android…

Archive

Category: misc

My car doesn’t have built-in Bluetooth connectivity and only has an Aux audio input (3.5mm Stereo Socket). I had been looking for something which would easily provide Bluetooth conenctivity in the car but won’t need me to change the car audio system or need me to take the car to a mechanic to install something.

I finally found and bought a Belkin AirCast Auto Handsfree from INA Solutions.

Its a very small device that can stick easily on any car dashboard. It connects to the standard Cigarette lighter port for power and also has a USB port so that you can charge your phone while in the car. It can pair with multiple phones (although only one can be connected to it at once). It can play music through the car speakers as well as make/receive phone calls. There’s only 1 button which has multiple uses. It can be used to start/stop the music, accept a call and also long-pressing it starts the default voice search app on the phone, allowing you to make calls by talking to the phone.

Initially I wasn’t very sure about how it’ll work with Android phones but I use it regularly with 2 Android phones (Samsung Galaxy S2 and Samsung Galaxy Nexus) and am very happy with it :) .

 

Here are some of the Frequently Asked Questions and their answers about my Android App SMS Backup & Restore.

Q 1: What does this app do?
Q 2: Does it backup MMS (Picture/Music/Video) Messages?
Q 3: Where is the backup stored?
Q 4: What type of file is created for the backup?
Q 5: Can it make backups automatically (scheduled backups)?
Q 6: How do I access the backup files?
Q 7: I cannot understand the data in the backup file, how do I see it an easy to understand format?
Q 8: Can I use this App to transfer messages from my old phone?
Q 9: I am getting an error like “No write access to file:/sdcard/smsbackuprestore/(nameoffile).xml” during backup. Whats going on?
Q 10: I tried the Restore but only got some of my messages back, Why?
Q 11: Why is the Scheduled Backup not making any backups for me?
Q 12: This App has deleted all my messages!!! ?
Q 13: Why does it need so many permissions?
Q 14: What is that number is the date field in the backup file?
Q 15: I am getting an error when trying to Backup or Restore, how to get it working?
Q 16: Why is the app starting when I restart/reboot the phone? I can see it in the Task Manager app.
Q 17: Where can I get an Ad Free version of SMS Backup & Restore?
Q 18: I restored my SMS Messages and now they appear in the wrong order in Handcent SMS and some of my existing messages are duplicated. Why?
Q 19: I have inserted my SD Card from an older phone to a phone and the app cannot find the backup files on the SD Card. How to restore my messages?
Q 20: What is “Archive Mode” and how does it work? Can it miss messages from being backed up?
Q21: I have a Motorola phone and when I perform a Restore, all the messages get the time of restore rather than the actual time of the message. How do I fix it?
Q22: What kind of information is collected/stored/sent to servers by this app?
Q23: I just restored a few thousand text messages and now every time I open the Messaging app it freezes and nothing appears. What do I do now?

Q 1: What does this app do?
A: Primarily, it backs up SMS Messages on an Android phone so that they can be restored later. It can also restore messages which have been backed up earlier. Optionally, it can also delete all the messages on the phone.

Q 2: Does it backup MMS (Picture/Music/Video) Messages?
A: Currently it does not backup MMS Messages.

Q 3: Where is the backup stored?
A: By default, the backup is stored in the SMSBackupRestore folder of the SD Card (/sdcard/SMSBackupRestore). There is an option in the preferences to change this folder.

Q 4: What type of file is created for the backup?
A: The backup is stored in XML format so that it can be easily read and modified, as well as making it easy to convert to and from other phone formats.

Q 5: Can it make backups automatically (scheduled backups) ?
A: Yes, it has an option to enable Scheduled Backups which makes it automatically backup the SMS Messages at specified intervals.

Q 6: How do I access the backup files?
A: To access the backup files on the phone itself, you need a file manager app like ASTRO File Manager or ES File Explorer. To access the files on a computer, you can either Email them using the “Send File” menu option or by mounting the SD Card to a computer and then browsing to the SMSBackupRestore folder.

Q 7: I cannot understand the data in the backup file, how do I see it an easy to understand format?
A: Check “How to view or edit SMS and Call Logs backup file on a computer” and “Extract conversation with a contact from the backup file“. You can also use the View Messages feature of the app to see the messages in the backup files.

Q 8: Can I use this App to transfer messages from my old phone?
A: Yes. The backup format is a simple XML format and is independent of the Android version on the phone, so it can be easily used to transfer messages from one Android phone to another. It has been tested with Android version 1.5 thru 2.2.

To transfer your messages from your old phone, make sure you’ve created a backup on the old phone, then remove the SD Card from the old phone and insert it in the new phone. After this, install the app on the new phone and then Restore.

It can also be used to transfer messages from Nokia, Windows Mobile and Sony Ericsson phones. Check out the following links for more information:

Q 9: I am getting an error like “No write access to file:/sdcard/smsbackuprestore/(nameoffile).xml” during backup. Whats going on?
A: The app is not able to create the backup file for some reason. Make sure the sdcard is available to the phone when doing the backup (not mounted on a computer, for example). If you still get the error then there might be some problem with the sdcard itself or it may be full.

Q 10: I tried the Restore but only got some of my messages back, Why?
A: There are a few things which can cause this:

  • Some of the messages were MMS and they did not get backed up and hence cannot be restored with this app.
  • The Restore process did not finish completely and hence not all the messages were restored. Try the Restore again and see if you get more messages this time. When the Restore completes, it shows the number of messages it restored.
  • Newer versions of Android have a setting for specifying how many messages they will store (defaults to 200) per conversation and any message older than that gets deleted automatically. If you have lots of messages then make sure the setting is either disabled or has a higher number set.
  • Not all the messages were backed up. You can open the contents of the backup file and see if it has all the messages in it. Check “How to view or edit SMS and Call Logs backup file on a computer“.

Q 11: Why is the Scheduled Backup not making any backups for me?
A: When the Scheduled Backups are enabled, the app displays a notification after each backup with the information about how many messages were backed up etc. If you are not getting this notification then the scheduled backups are not working. Here are some of the things that can cause this:

  • Since v3.1, this app can be installed on the SD Card on phones which support this (FroYo 2.2 onwards). One of the problems with this is that if the app is installed on the SD Card, then it is not able to start the scheduler when the phone reboots. So, if you use the Scheduled Backups then make sure the app is not installed on the SD Card.
  • Whenever an app is updated, Android removes all its scheduled events and the schedules can only be set again by the app when its opened. So every time you update the app, make sure you open it at least once after the update other wise the schedules wont get enabled.
  • Some other”Task Manager” or “Task Killer” app is killing this app thus making the backup impossible. This is especially a problem if the other app is set to “Auto Cancel” or “Auto Kill” every hour or so. If this is the case make sure “SMS Backup & Restore” is excluded from the apps which are auto killed.

Q 12: This App has deleted all my messages!!! ?
A: Although the app has an option to delete all the messages on the phone, the only time it does that is when someone presses that button and then confirms the warning that it will delete the messages. If you have not done that then the deletion of messages is not because of this app. Also, it is a known problem with some Android phones.

Q 13: Why does it need so many permissions?
A: Here’s the list of permissions needed and some explanation:

  • 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.
  • Your personal information – read contact data (android.permission.READ_CONTACTS): For exporting the contact names in the backup as well as for displaying the contact names when viewing messages.
  • 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.

Q 14: What is that number is the date field in the backup file?
A: The date is backed up in the same format as its stored on the phone. Its the Java date representation (including millisecond) of the time when the message was sent/received in UTC. Check out www.epochconverter.com for information on how to do the conversion from other languages to Java.

Q 15: I am getting an error when trying to Backup or Restore, how to get it working?
A: Have a look at the Error Reporting instructions.

Q 16: Why is the app starting when I restart/reboot the phone? I can see it in the Task Manager app.
A: The app has the option to automatically create backups on a schedule. For it to be able to create the schedule, it needs to check and apply the settings every time the phone restarts. This is the way Android works and this app is not going to slow your phone down by constantly running in the background.

Q 17: Where can I get an Ad Free version of SMS Backup & Restore?
A: Since v3.7 there is now a paid Ad Free version of the app available in the Android Market.

Q 18: I restored my SMS Messages and now they appear in the wrong order in Handcent SMS and some of my existing messages are duplicated. Why?
A: Handcent appears to display messages in the order they are added instead of the date of the message so if you restore messages after you’ve got existing messages in Handcent, they may appear in the wrong order. Although SMS Backup & Restore gives you the option to check for duplicates during restore, sometimes it may not work properly or Handcent may misunderstand the update of an existing message as a new message and hence display a duplicate. The only work around I know of this problem is to create a new backup and then delete all the messages from Handcent as well as using SMS Backup & Restore’s delete feature. A restore after this should result in the correct ordering of messages as well as clearing up of duplicates.

Q 19: I have inserted my SD Card from an older phone to a phone and the app cannot find the backup files on the SD Card. How to restore my messages?
A: More and more phones now come with inbuilt storage in them. In such phones the internal storage appears as the SD Card to the app and when it looks for the backup files it is not able to find the backup files on the external SD Card.

To be able to restore on such a phone, there are two ways:

  1. Copy the SMSBackupRestore folder to the internal storage and then restore from there
    • Create a new backup on the new phone, this will make sure that the required folder is created. You can name the file so that its easily identifiable later.
    • Connect the phone to the computer and mount the storage so that its accessible on the computer.
    • Locate the SMSBackupRestore folder on the phone’s storage and copy the old backup file to that folder.
    • Unmount the storage from the computer.
    • Perform the Restore and select the file copied in the earlier step.
  2. Change the Backup folder in the app to point to the external storage card.
    • Install a  file manager app like ES File Explorer or OI File Manager
    • Open the Preferences screen on SMS Backup & Restore (or Pro)  (Menu -> Preference)
    • Click on the “Backup Folder” preference and then click on the “Browse” button. This will launch the file manager app you installed earlier.
    • Locate the existing SMSBackupRestore folder on the SD Card. For example:
      • Samsung Vibrant/Galaxy S phones: “/sdcard/sd/SMSBackupRestore/”
      • Samsung Galaxy S II phones: “/sdcard/external_sd/SMSBackupRestore/”
      • Some other phones (Motorola Droid/X/3/Bionic): “/sdcard-ext/SMSBackupRestore/”
    • Select the folder.
    • Close the preferences.
    • Perform the Restore.

If your phone is not listed here and you have figured out the correct path then please let me know so that I can update this list here.

Q 20: What is “Archive Mode” and how does it work? Can it miss messages from being backed up?
A: “Archive Mode” is this app’s way of incrementally adding new messages to an existing backup file and can be enabled from the preferences. This is how it works:

  • Whenever it successfully backs up one or more messages it stores the latest message’s Numeric ID and TimeStamp to be used later.
  • When its run the next time it only requests for messages which have a larger ID OR a later TimeStamp than the stored values.
  • If it finds any messages which satisfy the above criteria, it starts copying the existing backup file’s records into a new temporary file (displays “Processing existing backup file…” in the progress dialog).
  • Once its copied all the contents of the existing backup it then adds the new records to this new file.
  • If backup verification is not disabled, it then verifies this new file to make sure that the backup file is readable.
  • Renames the existing (older) backup file to another temporary name.
  • Renames the newly created backup file to the name specified in the “Archive Filename” preference.
  • Deletes the older backup file.

While this mode will work fine in most of the cases, there are some cases in which it may not work properly. Consider these conditions:

  • Android reassigns the Numeric ID if the message with the largest ID is deleted and a new message is received after that.
  • A message is received with an older TimeStamp than the TimeStamp stored by the app.

Since the app uses both these things to check for new messages, it will work fine if only one of these conditions are true. However, if for some reason both these conditions are true (You delete the latest message and then get a new message with an older timestamp, for example) then the app will not be able to figure out if there is a new message that it should backup.

At this stage I think that it is very rare for this to happen to most people but it is a possible cause for messages missed from being backed up. If you delete messages often and do not care about those deleted messages to be in the backup or are missing messages when using the “Archive Mode” then I’d suggest that you not use it. You can use the normal backup and if you use the Scheduled Backups then it can (optionally) automatically delete older backup files so you don’t end up with lots of backup files with very similar content in them.

Q21: I have a Motorola phone and when I perform a Restore the messages have incorrect time and conversations are not in correct order. How do I fix it?
A: There are 2 variants of this problem:

  1. All the restored messages get the time of restore. These phones basically do not accept the time stamp supplied when restoring, they store the supplied time stamp internally but use the time of restore to display to the user. This problem was fixed in v4.4 of the app. If you are having this problem then please make sure you are running the latest version of the app then delete your messages and restore again. If you still have the problem then please let me know.
  2. The sent messages get the correct time but the received messages are out by a few hours. This also results in the messages getting grouped incorrectly in conversations, with a lot of sent messages appearing together and then a lot of received ones appearing later. This problem is caused by the phone either not storing the correct timezone information or by adjusting the timezone when displaying to the user. The app has an option to adjust the timezone in the time stamps when viewing or restoring messages. Open the preferences screen and then check the appropriate boxes under the “Adjust Time Zone” section. Deleting the messages and restoring again would fix this problem as well.I am not 100% sure about the cause of this problem. Please contact me if you are having this problem and want to help me track this problem. You’ll preferably need to have a rooted phone.Sometimes this problem can also happen if you have some app like “SMS Time Fix” which adjusts the time stamp on messages after they arrive. If you have any app like that then please disable it to confirm its not happening because of this.

Q22: What kind of information is collected/stored/sent to servers by this app?
A: The app does not collect any information about the user or the phone and does not send it to the developers. The internet permissions are used for displaying Ads, using Mobclix. The Mobclix platform has some analytics built into it and sends some information back to their server. Their privacy statement can be found here.
If you are still concerned about any information sent by the app, you can buy the SMS Backup & Restore Pro from the Android Market. It has all the same functionality as the Free version but does not show any Ads and hence does not need internet permissions.

Q23: I just restored a few thousand text messages and now every time I open the Messaging app it freezes and nothing appears. What do I do now?
A: Some phones can take a lot of time to index and process newly created messages, especially if there are thousands of them. If you get a blank screen or if the phone asks you to “Force Close” or “Wait” just press “Wait” and leave the Messaging app running for a while. Eventually it’ll finish processing and start working normally.

 

Just finished moving the site from Blogger to WordPress. Hopefully all the links and pages are working correctly…

For anyone interested, here’s what I did:

  1. Looked at the instructions on the Installing WordPress page.
  2. Installed WordPress on IIS6 from the Microsoft Web Apps Gallery.
  3. Imported the posts from Blogger using the built-in import function of WordPress.
  4. Installed the Eos theme by SRS Solutions.
  5. Installed a few mobile themes and settled at WordPress Mobile Pack plugin for now. One of the main reasons being that it has support for Admob ads :)
  6. Since I was moving my site from Blogger and wanted to make sure that all the old links to my old site were still working, I needed a redirection plugin, so installed the Redirection plugin and created entries for all the redirects I needed to work with the permalink structure of my new site.
  7. Found out that redirections won’t work that easily on IIS as it doesn’t have Apache’s mod_rewrite functionality.
  8. Tried isapi_rewrite lite which could do the required but then found it gets installed as a global isapi filter which could mess with other sites on the server.
  9. Found the article at Caspian IT and quickly downloaded IIRF but could not get it to work initially, the documentation and the page at Caspian IT still has reference to IsapiRewrite4.dll and IsapiRewrite4.ini files which seem to have been renamed to IIRF.dll and IIRF.ini in the current release. Another thing to note is that the IIRF.ini file needs to be in the root of the actual site, rather than in the same folder as the IIRF.dll file.
  10. Installed the Google Analyticator plugin to get Google Analytics support.
  11. Installed the Google XML Sitemaps plugin.
  12. Installed the Social Bookmarks plugin.
  13. Installed the Link to Post plugin.
  14. Modified the Eos theme to add a Paypal button :)

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.

UPDATE: This issue was fixed in CyanogenMod 4.2.6.

When I moved to CyanogenMod from Amon_RA’s 1.6.2 Donut, I realized that the volume keys on the phone don’t work when the screen was locked and also my USB Headset remote keys didn’t work at all. Finally today I pushed /system/usr/keylayout/sapphire-keypad.kl from RA-IONv1.6.2H and my volume keys started working while the screen was locked. Then I pushed /system/usr/keylayout/h2w_headset.kl from hofo303 and my USB Headset remote works as well now. Happy Days!! (I have an HTC Magic 32A)

There’s an updated patch file at XDA for this now (Only for 32A Magics, do NOT apply on 32B).

You dont necessarily need to use recovery to update these files. Just download the zip and extract the files to your computer (This should work 32B as well, but I haven’t tested it myself). Then use adb from a command prompt to push the files to the phone:

adb remountadb push h2w_headset.kl /system/usr/keylayout/adb push sapphire-keypad.kl /system/usr/keylayout/