Hi all, I have gone through many threads in this group about avoiding the use of everlasting Services, Timer/TimerTask sleep issues and detecting phone calls, but not finding the answers I am looking for this app, I will really appreciate any help you can provide me.
I am working on an App to detect incoming calls and when the call time is equal to 5 minutes indicate the user by vibrating the phone. In my strategy I am creating a Receiver that listens for RECEIVE_BOOT_COMPLETED action and launch an everlasting Service which sets up a PhoneStateListener. 1) Is there any other strategy to be always listening for incoming calls and thus avoide to using an on boot created Service? (besides the Service eventually gets killed and I am not able to detect incoming calls) A first approach I took here was setting up a Timer and TimerTask when CALL_STATE_RINGING state was detected and after 5 min (if the call continues) vibrate the phone for 2 seconds. However sometimes the timer phone vibrates after an hour a call was placed (the vibration happens in the run() TimerTask method. I know Android can go to sleep and that could be the reason my timer is not run on time but... 2) How can Android be slept if I am in a call? Is the call just handled by the modem or how come? Next, to overcome this issue I tried preventing the Service from going to sleep by putting it in foreground state calling startForeground(NOTIFICATION_ID , notification), still the same behaviour the timer is run long after the call was placed... 3) does startForeground prevent Android going to sleep or it is just aimed to keep the Service's process in memory? 4) A wake lock would do this job ? (I have not tried this) Encouraged by many post I tried using an Alarm and it works (thought I do not want to use it because I think it should be possible to accomplish with something lighter) but when the phone vibrates it just keeps vibrating till I remove the phone from my cheek (the screen is turned on again) 5) Why? Is it that Android started vibrating the phone and then went to sleep?... so the vibration is turned off when Android awakes, when the screen is turned on again? 6? Ideas of how to stop the timer? Thanks a lot for your support! Juan Garibay -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en

