2017-02-02 4 views
0

Создайте приложение, в котором фоновое обслуживание расшифровывает загруженный файл в папке и покажет файл. Как только пользователь нажмет на выбранный файл, он начнет дешифрование, если пользователь нажмет на эту кнопку, дешифрование остановится и начнется с нового файла. Я попытался использовать thread для начала и остановки этой задачи.начать и остановить рабочий поток?

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

добавил код, пожалуйста, –

+0

Не было бы проще, если вы используете AsyncTask или IntentService ? Существует много документации по разработчику Android об этих –

+0

с использованием этого сервиса –

ответ

0

Я хотел бы написать что-то подобное, если вы хотите проверить, если поток остановлен в то время как цикл:

class StoppableThread extends Thread { 
    private AtomicBoolean mIsStopped = new AtomicBoolean(false); 
    public void stopThread() { 
     mIsStopped.set(true); 
    } 
    public boolean isThreadStopped() { 
     return mIsStopped.get(); 
    } 
} 
Смежные вопросы