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

Reply via email to