Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6696517
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 26, 20262026-05-26T06:21:03+00:00 2026-05-26T06:21:03+00:00

I’m having trouble understanding the screen timeout function and how that will effect code

  • 0

I’m having trouble understanding the screen timeout function and how that will effect code running in my activities. Does onPause() get called when the screen times out?

I have an activity and a related service running an AsyncTask, which is counting down from 60 seconds. I want to be able to lock the screen, and at the end of the timer, start a new service and new activity that sounds an alarm and vibrates the handset. When the user wakes the phone they should see the new activity, whose display is being updated via a broadcast receiver from the new service.

What I am finding is that the behaviour is highly unpredictable. Once the screen times out, it will usually sound the alarm and bring up the new activity under the lockscreen, but this takes anywhere between 2-4 minutes, and sometimes doesn’t happen at all. I seem the get better results locking the screen manually, rather than waiting for a time-out, but it’s still unpredictable and varies per handset.

If anyone had any thoughts/suggestions as to whats going on under the hood, and even whether this approach is sensible, the would be much appreciated.

Regards

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-26T06:21:03+00:00Added an answer on May 26, 2026 at 6:21 am

    Ok, so I’ve found the answer, I think my question was a little convoluted to begin with, so I’ll try to answer the various parts, as well as adding my actual solution….

    I had an Activity that was starting a Service. The Service (which included an AsyncTask) was supposed to run in the background, monitoring the accelerometer and counting down a timer. The Service was then periodically sending a broadcast Intent to the Activity, when the broadcast contained certain data, the Activity needed to run some code. This all needed to happen with the screen off.

    My findings are that, yes, when hitting the screen lock, the Activity does run onPause(), but is still fully able to execute code in the internal BroadcastReciever class, and consequently this can call methods in the activities main process. I imagine this is a bad way to do things, but it did work.

    The issue was with the AsyncTask and the Service. Regardless of the the way it’s set up, (startForegrond() etc ) a background thread will be paused for a while when the cpu shuts down (either by pressing the lock key, or waiting for the screen to time out). I found it was paused for intervals of about 1 min.

    The answer is to use PowerManager.WakeLock and set the flag to PARTIAL_WAKE_LOCK. This will allow the screen to shut down but keep threads running at full speed in the background.

    Doc here: http://developer.android.com/reference/android/os/PowerManager.html

    dont forget to release it when done as it is expensive on the battery.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

link Im having trouble converting the html entites into html characters, (&# 8217;) i
I have a French site that I want to parse, but am running into
I'm parsing an RSS feed that has an ’ in it. SimpleXML turns this
I'm having trouble keeping the paragraph square between the quote marks. In firefox the
That's pretty much it. I'm using Nokogiri to scrape a web page what has
I've got a string that has curly quotes in it. I'd like to replace
I am currently running into a problem where an element is coming back from
We're building an app, our first using Rails 3, and we're having to build
I have this code: - (void)parser:(NSXMLParser *)parser foundCDATA:(NSData *)CDATABlock { NSString *someString = [[NSString
Does anyone know how can I replace this 2 symbol below from the string

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.