У меня есть поток, выполняющий действие. Я не хочу , чтобы поток продолжал работать, когда пользователь нажимает кнопку «Домой» или, например, пользователь получает телефонный звонок. Поэтому я хочу приостановить поток и возобновить его, когда пользователь повторно откроет приложение. Я пробовал вот что:
protected void onPause() {
synchronized (thread) {
try {
thread.wait();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
super.onPause();
}
protected void onResume() {
thread.notify();
super.onResume();
}
Он останавливает поток, но не возобновляет его, поток кажется зависшим.
Я также пробовал использовать устаревший метод Thread.suspend ()
и Thread.resume ()
, но в этом случае в Activity.onPause ()
поток не останавливается.
Кто-нибудь знает решение?