Como executar uma tarefa assíncrona para cada x min no android?

como executar a tarefa assíncrona em um horário específico? (Quero executá-lo a cada 2 minutos)

Tentei usar a publicação atrasada, mas não está funcionando?

    tvData.postDelayed(new Runnable(){

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

    }}, 100);

No código acima, a readwebpage é uma função que chama a tarefa assíncrona para mi

gora, abaixo, está o método que estou usand

   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" });

    }

    }

Este é o meu código e funciona perfeitamente bem, mas o grande problema é que eu gasto a bateri

questionAnswers(9)

yourAnswerToTheQuestion