2017-02-02 20 views
0

バックグラウンドサービスがフォルダ内のダウンロードしたファイルを復号化し、ファイルを表示するアプリケーションを作成しています。ユーザーが選択したファイルをクリックすると、解読が開始されます。ユーザーがそのボタンをクリックすると解読が停止し、新しいファイルから開始します。私はこのタスクを開始して停止するためにスレッドを使用しようとしました。ワーカースレッドを開始および停止しますか?

if (mUpdate!=null) { 
      mUpdate.interrupt(); 
     } 

     mUpdate=new Thread() { 
      @Override 
      public void run() { 
       while (!interrupted()) { 
        // decryption of file and showing file to user 
       } 
      } 
     }; 
     mUpdate.start(); 
+0

あなたはAsyncTaskやIntentServiceを使用する場合 –

+0

はそれが簡単ではないでしょうしてください、コードを追加しました?多くのドキュメントがアンドロイドの開発者にあります。 –

+0

サービス内でこれを使用しています –

答えて

0

スレッドがwhileループで停止している場合は、チェックしたい場合は、私はそのような何かを記述します。

class StoppableThread extends Thread { 
    private AtomicBoolean mIsStopped = new AtomicBoolean(false); 
    public void stopThread() { 
     mIsStopped.set(true); 
    } 
    public boolean isThreadStopped() { 
     return mIsStopped.get(); 
    } 
} 
関連する問題