2013-05-17 106 views
0

我正在做一個應用程序在android連接服務器和下載一些塊。 現在我想要另一個進程做其他工作。這裏是我的代碼如何停止另一個正在運行的進程java android

class RemindTask extends TimerTask { 


        public void run() { 

         flag = true; 
         System.out.println(" Hello World!"); 
         Receiveeterations reeterations = new Receiveeterations(); 
         int longCounteterations = reeterations.Geteterations(); 
         System.out.println("longCounteterations " + longCounteterations); 

         long endTime = System.currentTimeMillis() + 10000; 

         while (System.currentTimeMillis() < endTime) { 


           } 

         IntegerResult = 4; 
         ThroughPut1+=1; 
         ThroughPut2=0; 

         //se mia methodo! pou otan oloklirwnetai i diadikasia tha ti kanei false  
         flag=false; 
} 

Timer timer = new Timer(); 
    timer.schedule(new RemindTask(), 0,20000); 

    /////////////////////////////////////////////////////////////////////////////////////////////////// 


         try { 
          Thread.sleep(10010); 
         } catch (InterruptedException e2) { 
          // TODO Auto-generated catch block 
          e2.printStackTrace(); 
          } 
while (!fileparts.isEmpty() ) { //&& !fileparts1.isEmpty() && (flag == false) 




    String[] myStringArray = new String[IntegerSpeed]; 

here i have more code with connectios 

     } 

所以我想做的事情,我不知道,是怎麼當計時器類引發的,而過程將停止。並且在定時器停止的過程之後主方法繼續。 我嘗試thread.sleep裏面的定時器,但它沒有做任何事情。

回答

0

所有你需要的是一個跑旗......也許這就是你有你的flag變量?

class RemindTask extends TimerTask { 

    private boolean runnging = false; 

    public void run() { 
     running = true; 
     [...] 
     while (running && System.currentTimeMillis() < endTime) { 
      // work 
     } 

    public void stop() { 
     running = false; 
     // interrupt the thread if possible 
    } 
} 

現在你可以在你正在運行的任務調用stop(),使之停止

+0

感謝馬可我解決它!是的,我有那裏的國旗,但因爲我是一個新的編程我把它改爲公開!之後就可以了!謝謝!! –

相關問題