Intereting Posts
Android – Подтвердите выход приложения с помощью тоста Позиция фиксированная не работает в мобильном браузере Поддерживает ли Android почти в режиме реального времени push-уведомление? Использование API Google Cloud Print с Android Все библиотеки com.android.support должны использовать ту же самую версию Почему обертывание содержимого в несколько строк TextView заполняет родительский? Android – Сигнал 11, ошибка RS CPP: радиус размытия из 0-25 пикселей Как использовать PackageManager.addPreferredActivity ()? Интеграция сканера штрих-кодов Android с веб-страницей Android: как проверить, видима ли View внутри ScrollView? Внимание! Не найдены каталоги символов – проверьте конфигурацию отладки Правильно запускать Activity from Notification независимо от состояния приложения Автоматически разрешает сборку Android Ошибка: пиксели кадра должны быть сплошными или прозрачными (не промежуточными альфа). – Найден в пикселе # 4 вдоль верхнего края Мастер Eclipse для создания новой активности Android не работает Как редактировать HTML / CSS / Javascript в Eclipse ADT

Сила остановить блокировку читать AsyncTask

У меня есть AsyncTask в моем приложении:

public class myActivity extends Activity { private static Socket mySocket; private static InputStream myInputstream; private AsyncTask task; private boolean connected = false; @Override protected void onCreate(Bundle savedInstanceState) { ... task = new UpdateTask().execute(); ... } private class myTask extends AsyncTask<Void, String, String> { @Override protected String doInBackground(Void... v) { if(!connected) { try { mySocket = new Socket(); mySocket.connect(new InetSocketAddress(MYIP, MYPORT)); myInputstream = mySocket.getInputStream(); connected = true; } catch(IOException e) { ... } } while(connected && !isCancelled()) { byte[] readbyte = new byte[1024]; try { myInputstream.read(readbyte); } catch (IOException e) { ... } ... } return null; } ... } 

И я хочу остановить task AsyncTask, когда я закрываю приложение: (нажмите Backton putton). Я попробовал ответить здесь Android – Отменить AsyncTask Сильно проверить isCancelled()

  @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if(keyCode == KeyEvent.KEYCODE_BACK) { task.cancel(true); mySocket.close(); finish(); } return super.onKeyDown(keyCode, event); } 

Но кажется, что приложение будет блокироваться в myInputstream.read(readbyte) когда task.cancle(true) . Android выкинет мне приложение «перестанет отвечать». Как я могу заставить остановить блокировку чтения?

Solutions Collecting From Web of "Сила остановить блокировку читать AsyncTask"