2017-01-23 48 views
0

我在關於如何創建&添加使用停止&處理程序界面在Android世界&需要幫助的全新重啓的AsyncTask每10秒。而其活動(在屏幕觸摸事件之前)。的Android手接口開始/停止的AsyncTask

我的AsyncTask用於每2秒更改屏幕背景顏色。如下。我使用Button.onClick在稍後啓動AsyncTask &任何屏幕觸摸事件來停止它。

public class MyAsynTask extends AsyncTask<Void, Void, Void> { 

    @Override 
    protected Void doInBackground(Void... params) { 
     Runasync = true; 
     while (Runasync) { 
      if (isCancelled()) { 
       break; 
      } 
      try { 

        Thread.sleep(2000); 

      } catch (InterruptedException e) { 
       e.printStackTrace(); 
      } 
      publishProgress(); 
     } 
     return null; 
    } 


    @Override 
    protected void onProgressUpdate(Void... values) { 
     ChangeBackgroudColor(); //Calling Method to change the background color. 
    } 
} 

回答

0

您可以創建一個Timer & TimerTask 10秒間隔。

在主線程中創建Handler,如下所示。

enter image description here

實施START_ASYNC_TASK消息在您處理郵件交換機功能 - 凱斯和取消現有的AsyncTask並在這裏開始新的AsyncTask。

enter image description here

使用mHandler.post()在TimerTask的方法來發布消息給UI線程。

在您的活動重寫