1

I'm wondering if anyone can explain to me the following.

I have two devices, an HTC Desire and a Samsung Galaxy Nexus. I have the same app running on both. The app has a foreground service listening to Cell Location and Signal Strength updates by registering to the PhoneStateListener.

Both work similarly when the phone is fully awake. When the phones go to sleep, the nexus keeps updating the signal strength (and sometimes the cell location) but the Desire stops. This I reckon is due to how each RIL is handling the SCREEN_OFF intent.

What I would like to understand is, what is the effect of the cell/signal updates on the nexus when the phone is sleep. I have a logger in the listener and I keep getting update logs during sleep.

1) Does this mean Android is waking up on each signal strength update? 2) If I deregister from this listener on screen off, will Android still wake up because of the way the RIL is implemented?

I don't hold any cpu locks inside the listener.

Thanks.

Piotr Chojnacki
  • 6,837
  • 5
  • 34
  • 65
black
  • 781
  • 1
  • 7
  • 22
  • It would be good if someone can back me up, but I think it doesn't matter if I register a listener or not. The RIL will send up the update and Android has to wake up and handle it. Then from what I see in the TelephoneRegistry class, it has to check for registered records and call their callback function. If so, my question would be: wouldn't this be killing the battery if there are constant signal or cell updates, say if the device is moving fast from one cell to the other? The device would never have the chance to sleep. – black Aug 23 '12 at 21:20

0 Answers0