Как запускать асинхронную задачу каждые x минут в android?

как запустить асинхронную задачу в определенное время? (Я хочу запускать ее каждые 2 минуты)

Я пробовал использовать отложенную публикацию, но это не так работает?

    tvData.postDelayed(new Runnable(){

    @Override
    public void run() {
        readWebpage();

    }}, 100);

В приведенном выше коде readwebpage - это функция, которая вызывает для меня асинхронную задачу ..

Прямо сейчас ниже показан метод, который я использую.

   public void onCreate(Bundle savedInstanceState) {

         readwebapage();

   }

   public void readWebpage() {
    DownloadWebPageTask task = new DownloadWebPageTask();
    task.execute("http://www.google.com");

   }

   private class DownloadWebPageTask extends AsyncTask<String, Void, String> {
    @Override
    protected String doInBackground(String... urls) {
        String response1 = "";
        response1=read(); 
                   //read is my another function which does the real work    
        response1=read(); 
        super.onPostExecute(response1);
        return response1;
    }


      protected void onPostExecute(String result) {


         try {
                Thread.sleep(100);
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

            TextView tvData = (TextView) findViewById(R.id.TextView01);
            tvData.setText(result);

        DownloadWebPageTask task = new DownloadWebPageTask();
        task.execute(new String[] { "http://www.google.com" });

    }

    }

Это мой код, и он отлично работает, но большая проблема, я разряжаю батарею?

42
задан Ron 19 February 2013 в 09:50
поделиться