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

  • SEARCH
  • Home
  • 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 7059875
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 28, 20262026-05-28T04:17:04+00:00 2026-05-28T04:17:04+00:00

I have a service which contains a Timer and TimerTask for receiving data from

  • 0

I have a service which contains a Timer and TimerTask for receiving data from Webservice in periods of time. When my TimerTask runs, the UI hangs until the Webservice process complete. How can I put my task in a thread to prevent the UI hanging?

My code:

Timer timerSyncFull = new Timer();

class taskSyncFull extends TimerTask {
        @Override
        public void run() {
            hSyncFull.sendEmptyMessage(0);
        }
    };



final Handler hSyncFull = new Handler(new Callback() {
        @Override
        public boolean handleMessage(Message msg) {
            procSyncFull();
            return false;
        }
    });

public void procSyncFull() {
        try {
            // My webservice process

        } catch (Exception e) {
        }
    }



@Override
    public void onStart(Intent intent, int startId) {

timerSyncFull = new Timer();

timerSyncFull.schedule(new taskSyncFull(), 5*60*1000,
                        5*60*1000);

}
  • 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-28T04:17:05+00:00Added an answer on May 28, 2026 at 4:17 am

    I used the following code and my problem solved:

    class taskSendMapMovements extends TimerTask {
            @Override
            public void run() {
                hhSendMapMovements.sendEmptyMessage(0);
            }
        };
    
    
    
        // /////////////////////
    
        final Runnable rSendMapMovements = new Runnable()
        {
            public void run()
            {
                procSendMapMovements();
            }
        };
    
        final Handler hhSendMapMovements = new Handler(new Callback() {
            @Override
            public boolean handleMessage(Message msg) {
                performOnBackgroundThread(rSendMapMovements);
    
                return false;
            }
        });
    
        // /////////////////////
    
        public void procSendMapMovements() {
            try {    
    
            showToast("some text");
            //My Main Process    
    
            } catch (Exception e) {
    
    
            }
        }
    
    
    @Override
        public void onStart(Intent intent, int startId) {
            try {
    
    
    
                timerSendMapMovements = new Timer();
    
    
                timerSendMapMovements
                            .schedule(new taskSendMapMovements(),
                                    10*60*1000,
                                    10*60*1000);
    
                //
    
            } catch (NumberFormatException e) {
                Toast.makeText(this, "error running service: " + e.getMessage(),
                        Toast.LENGTH_SHORT).show();
            } catch (Exception e) {
                Toast.makeText(this, "error running service: " + e.getMessage(),
                        Toast.LENGTH_SHORT).show();
            }
        }
    
    
    final Handler hToast = new Handler(new Callback() {
            @Override
            public boolean handleMessage(Message msg) {
    
                Toast.makeText(SrvDataExchange.this,
                        msg.getData().getString("msg"),
                        Toast.LENGTH_LONG).show();
                return false;
            }
        });
    
    private void showToast(String strMessage) {
        Message msg = new Message();
        Bundle b = new Bundle();
        b.putString("msg", strMessage);
        msg.setData(b);
        hToast.sendMessage(msg);
    }
    
    public static Thread performOnBackgroundThread(final Runnable runnable) {
            final Thread t = new Thread() {
                @Override
                public void run() {
                    try {
                        runnable.run();
                    } finally {
    
                    }
                }
            };
            t.start();
            return t;
        }
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have a service which contains a Timer and TimerTask for receiving data from
I have a windows service which fetches data from various datasources and build a
I have a windows service that runs every 10 seconds ... each time it
I have a service running in my Android application which contains a HashMap that
We have an existing big application which contains a lot of data. We'd like
I have a service which can be called from Activities in an app. The
I have a service which has one endpoint , I have defined this endpoint
I have a service which creates a number of child processes. Using c# I
I have a service which takes the user supplied rich text (can have HTML
I have a web service which has a generic function that returns a dataset

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.