I've been trying to use AlarmManager.RTC_WAKEUP to wake up my device
while it's sleeping, and then play some sounds. It seems like when
it's charging, this works fine, but when it's not, the service doesn't
start until I hit the menu button and am presented with the lock
screen.
Also, this seems to be working fine in the emulator, but not my real
phone.
Here's the alarm scheduling:
ntent intent = new Intent(Main.this, OneShotAlarm.class);
PendingIntent sender =
PendingIntent.getBroadcast(Main.this, 0, intent, 0);
// We want the alarm to go off 30 seconds from now.
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.add(Calendar.SECOND, 60);
// Schedule the alarm!
AlarmManager am =
(AlarmManager)getSystemService(ALARM_SERVICE);
am.set(AlarmManager.RTC_WAKEUP,
calendar.getTimeInMillis(), sender);
---------------------------------
The OneShotAlarm BroadCastReceiver:
public class OneShotAlarm extends BroadcastReceiver
{
> I've been trying to use AlarmManager.RTC_WAKEUP to wake up my device
> while it's sleeping, and then play some sounds. It seems like when
> it's charging, this works fine, but when it's not, the service doesn't
> start until I hit the menu button and am presented with the lock
> screen.
> Also, this seems to be working fine in the emulator, but not my real
> phone.
> // We want the alarm to go off 30 seconds from now.
> Calendar calendar = Calendar.getInstance();
> calendar.setTimeInMillis(System.currentTimeMillis());
> calendar.add(Calendar.SECOND, 60);
> // Schedule the alarm!
> AlarmManager am =
> (AlarmManager)getSystemService(ALARM_SERVICE);
> am.set(AlarmManager.RTC_WAKEUP,
> calendar.getTimeInMillis(), sender);
> ---------------------------------
> The OneShotAlarm BroadCastReceiver:
> public class OneShotAlarm extends BroadcastReceiver
> {
> It does wake it up, but you are going to need to hold a wake lock to
> keep the device awake after your intent receiver returns.
> On Nov 10, 11:14 pm,g1bb<corymgibb...@gmail.com> wrote:
> > Hello,
> > I've been trying to use AlarmManager.RTC_WAKEUP to wake up my device
> > while it's sleeping, and then play some sounds. It seems like when
> > it's charging, this works fine, but when it's not, the service doesn't
> > start until I hit the menu button and am presented with the lock
> > screen.
> > Also, this seems to be working fine in the emulator, but not my real
> > phone.
> > // We want the alarm to go off 30 seconds from now.
> > Calendar calendar = Calendar.getInstance();
> > calendar.setTimeInMillis(System.currentTimeMillis());
> > calendar.add(Calendar.SECOND, 60);
> > // Schedule the alarm!
> > AlarmManager am =
> > (AlarmManager)getSystemService(ALARM_SERVICE);
> > am.set(AlarmManager.RTC_WAKEUP,
> > calendar.getTimeInMillis(), sender);
> > ---------------------------------
> > The OneShotAlarm BroadCastReceiver:
> > public class OneShotAlarm extends BroadcastReceiver
> > {
> > public class ServiceClassToRun extends Service {
> > protected static final int Rnd = 0;
> > public void onStart(Intent intent, int startId) {
> > //do some business here
> > }
> > ---------------------------------
> > And finally, my manifest:
Have you seen the Stopwatch application developed by Tom Taylor? I
just downloaded it, and it keeps counting after the phone is put to
sleep entirely. Any ideas on how he's doing that? I'm looking for that
kind of functionality.
Thanks again.
On Nov 11, 3:51 am, hackbod <hack...@gmail.com> wrote:
> It does wake it up, but you are going to need to hold a wake lock to
> keep the device awake after your intent receiver returns.
> On Nov 10, 11:14 pm,g1bb<corymgibb...@gmail.com> wrote:
> > Hello,
> > I've been trying to use AlarmManager.RTC_WAKEUP to wake up my device
> > while it's sleeping, and then play some sounds. It seems like when
> > it's charging, this works fine, but when it's not, the service doesn't
> > start until I hit the menu button and am presented with the lock
> > screen.
> > Also, this seems to be working fine in the emulator, but not my real
> > phone.
> > // We want the alarm to go off 30 seconds from now.
> > Calendar calendar = Calendar.getInstance();
> > calendar.setTimeInMillis(System.currentTimeMillis());
> > calendar.add(Calendar.SECOND, 60);
> > // Schedule the alarm!
> > AlarmManager am =
> > (AlarmManager)getSystemService(ALARM_SERVICE);
> > am.set(AlarmManager.RTC_WAKEUP,
> > calendar.getTimeInMillis(), sender);
> > ---------------------------------
> > The OneShotAlarm BroadCastReceiver:
> > public class OneShotAlarm extends BroadcastReceiver
> > {
> > public class ServiceClassToRun extends Service {
> > protected static final int Rnd = 0;
> > public void onStart(Intent intent, int startId) {
> > //do some business here
> > }
> > ---------------------------------
> > And finally, my manifest:
> Have you seen the Stopwatch application developed by Tom Taylor? I
> just downloaded it, and it keeps counting after the phone is put to
> sleep entirely. Any ideas on how he's doing that? I'm looking for that
> kind of functionality.
> Thanks again.
> On Nov 11, 3:51 am, hackbod <hack...@gmail.com> wrote:
> > It does wake it up, but you are going to need to hold a wake lock to
> > keep the device awake after your intent receiver returns.
> > On Nov 10, 11:14 pm,g1bb<corymgibb...@gmail.com> wrote:
> > > Hello,
> > > I've been trying to use AlarmManager.RTC_WAKEUP to wake up my device
> > > while it's sleeping, and then play some sounds. It seems like when
> > > it's charging, this works fine, but when it's not, the service doesn't
> > > start until I hit the menu button and am presented with the lock
> > > screen.
> > > Also, this seems to be working fine in the emulator, but not my real
> > > phone.
> > > public class ServiceClassToRun extends Service {
> > > protected static final int Rnd = 0;
> > > public void onStart(Intent intent, int startId) {
> > > //do some business here
> > > }
> > > ---------------------------------
> > > And finally, my manifest:
> Maybe PARTIAL_WAKE_LOCK, looking at it now... interesting.
> On Nov 11, 10:45 am, g1bb <corymgibb...@gmail.com> wrote:
> > Another question on this:
> > Have you seen the Stopwatch application developed by Tom Taylor? I
> > just downloaded it, and it keeps counting after the phone is put to
> > sleep entirely. Any ideas on how he's doing that? I'm looking for that
> > kind of functionality.
> > Thanks again.
> > On Nov 11, 3:51 am, hackbod <hack...@gmail.com> wrote:
> > > It does wake it up, but you are going to need to hold a wake lock to
> > > keep the device awake after your intent receiver returns.
> > > On Nov 10, 11:14 pm,g1bb<corymgibb...@gmail.com> wrote:
> > > > Hello,
> > > > I've been trying to use AlarmManager.RTC_WAKEUP to wake up my device
> > > > while it's sleeping, and then play some sounds. It seems like when
> > > > it's charging, this works fine, but when it's not, the service doesn't
> > > > start until I hit the menu button and am presented with the lock
> > > > screen.
> > > > Also, this seems to be working fine in the emulator, but not my real
> > > > phone.
One more question though: I'm acquiring my wakelock in an activity, as
well as attempting to release it in the OnDestroy() function of the
activity itself. Is there a good way to destroy the activity
programmatically? It doesn't appear to be done automatically from what
I could tell, unless I use Process.Kill();.
Thanks again!
On Nov 11, 2:38 pm, hackbod <hack...@gmail.com> wrote:
> Yes, for both these things, you need to hold a partial wake lock to
> keep the phone from turning off.
> On Nov 11, 12:02 pm, g1bb <corymgibb...@gmail.com> wrote:
> > Maybe PARTIAL_WAKE_LOCK, looking at it now... interesting.
> > On Nov 11, 10:45 am, g1bb <corymgibb...@gmail.com> wrote:
> > > Another question on this:
> > > Have you seen the Stopwatch application developed by Tom Taylor? I
> > > just downloaded it, and it keeps counting after the phone is put to
> > > sleep entirely. Any ideas on how he's doing that? I'm looking for that
> > > kind of functionality.
> > > Thanks again.
> > > On Nov 11, 3:51 am, hackbod <hack...@gmail.com> wrote:
> > > > It does wake it up, but you are going to need to hold a wake lock to
> > > > keep the device awake after your intent receiver returns.
> > > > On Nov 10, 11:14 pm,g1bb<corymgibb...@gmail.com> wrote:
> > > > > Hello,
> > > > > I've been trying to use AlarmManager.RTC_WAKEUP to wake up my device
> > > > > while it's sleeping, and then play some sounds. It seems like when
> > > > > it's charging, this works fine, but when it's not, the service doesn't
> > > > > start until I hit the menu button and am presented with the lock
> > > > > screen.
> > > > > Also, this seems to be working fine in the emulator, but not my real
> > > > > phone.
g1bb wrote: > Is there a good way to destroy the activity programmatically?
Call finish(). Once you return control back to Android (e.g., leave the on...() callback you're in), your activity should be gracefully shut down, including having onDestroy() called.
> g1bb wrote:
> > Is there a good way to destroy the activity programmatically?
> Call finish(). Once you return control back to Android (e.g., leave the
> on...() callback you're in), your activity should be gracefully shut
> down, including having onDestroy() called.
> Sorry, I forgot to mention that I would like to destroy the activity > from a different class not associated with the activity. Is that > possible?
Provide that class with a reference to your Activity when you create it.
E.g.:
class ActivityKiller { ActivityKiller(Activity victim) { this.victim=victim; }
void pussycatKillKill() { victim.finish(); }
}
You will also need to arrange for background threads to close up shop, including the thread your alternate class' code is running on, if that's not the main UI thread.
Thanks Mark. I went about this another way, as I forgot to mention
that I was going from an activity, to a broadcastreceiver, to a class.
I ended up calling the same activity with the FLAG_ACTIVITY_SINGLE_TOP
and FLAG_ACTIVITY_NEW_TASK flags, and then calling the finish() in the
onNewIntent event of the intent.
On Nov 12, 12:51 pm, Mark Murphy <mmur...@commonsware.com> wrote:
> > Sorry, I forgot to mention that I would like to destroy the activity
> > from a different class not associated with the activity. Is that
> > possible?
> Provide that class with a reference to your Activity when you create it.
> You will also need to arrange for background threads to close up shop,
> including the thread your alternate class' code is running on, if that's
> not the main UI thread.