Thursday, 5 September 2013

Restart radio programatically

Restart radio programatically

Every now and then, the radio of my android phone silently dies because of
some network related issues. On the Nexus 4, it shows the empty triangle
as if there where no service available in this area. On other phones it
does not even do that. It looks like signal is fine.
Anyway, after the radio died silently no phone call / text message / data
is going through in any direction. The only hint I get from the System is
the android.net.conn.CONNECTIVITY_CHANGE broadcast fired when the signal
dies and wifi is not connected.
The only thing, that fixes the problem is restarting the phone.
Finally my question:
Does anybody know how to restart the radio completely by code? I mean, it
is a separate image running on a separate CPU. There must be a way to
reboot it without rebooting the phone. Maybe there is something, I can
path into the Android ROM. I'm running CM here and be happy to patch it
(again).
I tried fixing it by launching a system app by pressing *#*#4636#*#* on
the dailer and stopping the radio and starting it again. But it did not
help at all.
I recently made an app that checks the radio every time the connection
changes. It shows a simple notification that tells me, I should reboot my
phone. [1]
Issues reproduced on:
LG Nexus 4
Samsung ACE 2
multiple Apple iPhone 4*
Issues not reproduced on:
Apple iPhone 5
[1] https://github.com/felixb/network-checker

No comments:

Post a Comment