Friday, 5 February 2010

sms / mms issue on android

There seems to be alot of reports of issues with sms messages never arriving on android phones, and seperately of mms messages arriving but never downloading.

from talking to others neither of these issues is rom-specific, nor is it device-specific.

the sms issue seems to be caused by the message not being written to the database if the device is low on (or out of) ram.

I seem to have solved the sms issue on my phone running latest cyanogen rom by:
  • installing the 10mb ram hack.
  • limiting the number of widgets and other background apps that hog resources.
  • culling messages every couple of weeks to keep the size of the database down.
I have installed smstomail from the market (free version) and this was catching all messages and sending them to gmail (hence almost immediately viewable on the phone), I'm keeping it as a backup to check I'm not missing any and for reference a I'm culling old messages.

So far no-one for weeks has said anything to imply I've not received an sms.

I also know of someone who has gone back to the 1.6 dev rom and is having no lost sms, this may also be due to not running out of ram when the message arrives.

the mms issue seems to have something to do with the phone being connected to a wifi network. I don't get many mms messages but one was sent to me recently that I saw, hit download, and it said 'downloading' and just sat like that. I killed the wifi connection and it still wouldn't download it, however when I asked her to resend it (same image, same size), it showed up and downloaded in seconds (3G).
Perhaps the phone sees mms as data and tries to bring it in via wifi but the phone network won't accept that as a valid connection (rightly so it ought to be over the phone network), the phone kills data connections when on wifi as you can see on the taskbar so this makes sense to me, this is a fundamental problem somewhere in the android OS. I need to hear from other people with similar issues and see if the symptoms match before being more sure about the nature of this.