如何调用code在Android中的背景每秒一节 [英] how to call a section of code every second in background in Android

查看:185
本文介绍了如何调用code在Android中的背景每秒一节的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我要叫code每秒的以下部分?
我曾尝试以下各项
但不知道如何调用每一秒??

I want call the following portion of code every second?? I have tried the following- But don't know how to call every second??

我怎么能继续调用新checkNWConnectivity()执行(测试); everysecond,并从那里到我的Andr​​oid程序中调用???

How can I keep on calling new checkNWConnectivity().execute("Test"); everysecond and from where to call in my android program???

private class checkNWConnectivity extends AsyncTask<String, Integer, String> {
    @Override
    protected String doInBackground(String... params) {


                ConnectivityManager manager = (ConnectivityManager)getSystemService(MainActivity.CONNECTIVITY_SERVICE);

                //  3G confirm
                Boolean is3g = manager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).isConnectedOrConnecting();

                // wifi confirm 
                Boolean isWifi = manager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).isConnectedOrConnecting();

                if(is3g){
                    tvNWConnectivity.setText("   Connected to 3G");
                }else if(isWifi){
                    tvNWConnectivity.setText("   Connected to wifi");
                }else{
                    String text = "   No Network Connectivity."+"\n" + "   Uploading will be resumed from streamlet "+countStreamletUploaded.toString();
                    tvNWConnectivity.setText(text);
                 }    


        return null;
    }

}

所以我的问题是如何调用它的每一秒?
其实我想继续运行code的部分在doInBackground(字符串... PARAMS){...}

So my question is how to call it every second? Actually I want to keep on running the portion of code in doInBackground(String... params) { ... }

推荐答案

您可以使用的 TimerTask的定时器和的处理器做到这一点:

You can use TimerTask, Timer and a Handler to do this:

 public void toCallAsynchronous() 
 {
   TimerTask doAsynchronousTask;
   final Handler handler = new Handler();
   Timer timer = new Timer();

   doAsynchronousTask = new TimerTask() 
    {
            @Override
            public void run() 
             {
                // TODO Auto-generated method stub
                handler.post(new Runnable()
                {
                    public void run()
                     {
                        try {
                          checkNWConnectivity performBackgroundTask = new checkNWConnectivity();
                          performBackgroundTask.execute();

                           } catch (Exception e)  
                            {
                              // TODO Auto-generated catch block
                            }

                     }
                });
                timer.schedule(doAsynchronousTask, 0,30000); //put the time you want

    }

这篇关于如何调用code在Android中的背景每秒一节的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆