Я implemnted прогрессбару в моей маленькой игре, как показано нижеандроида прогрессбара по щелчку Домашнего кнопки/Назад
gameProgressBar =(ProgressBar)findViewById(R.id.GameProcess);
thrd = new Thread(progressBarThread);
thrd.start();
}
//Progress bar function
private Runnable progressBarThread = new Runnable(){
public void run() {
// TODO Auto-generated method stub
while (GameProgressCount<60){ //60 = 1 minute
try{
myHandle.sendMessage(myHandle.obtainMessage());
Thread.sleep(1000);
}
catch(Throwable t){
}
}
thrd.stop();
}
Handler myHandle = new Handler(){
@Override
public void handleMessage(Message msg) {
GameProgressCount++;
gameProgressBar.setProgress(GameProgressCount);
}
};
Мой вопрос заключается в том, что, когда я нажимаю на спине/дома кнопка устройства, приложение становится минимизирован (или идет предыдущий экран), но поток хода выполнения будет работать в фоновом режиме. возможно ли приостановить поток и возобновить его, когда я минимизирую/открываю экран приложения.
Благодаря
В этом случае приложение по-прежнему активно, но сведено к минимуму, действительно ли необходимо сохранить состояние в sharedpreference? – Yogesh
Если вы нажмете клавишу «Главная», активность останется в стеке, и если вы нажмете кнопку «Назад», активность будет убита. поэтому onPause - это метод, который будет вызываться в обоих случаях, чтобы вы могли приостановить поток там. и sharedPreference - это только для сохранения значений, если вы хотите возобновить действие с того места, где оно осталось, в противном случае не требуется –