#android #multithreading #android-asynctask #timertask
#Android #многопоточность #android-asynctask #timertask
Вопрос:
Я должен вызвать асинхронную задачу с прослушивателем из TimerTask каждые 1,5 секунды.Когда я попытался это сделать, я получаю исключение «java.lang.RuntimeException: не удается создать обработчик внутри потока, который не вызывал Looper.prepare().». Пожалуйста, помогите нам решить эту проблему.
Ниже приведен фрагмент кода, который я использую..
Timer t = new Timer();
TimerTask scanTask = new TimerTask()
{
@Override
public void run()
{
new BgTask((BgTaskListener)this).execute("","currentState");
}
};
t.schedule(scanTask, 1500, 1500);
Здесь BgTask идентифицирует класс AsyncTask.
Ответ №1:
если вы находитесь в контексте activity, то это должно сработать
runOnUiThread(new Runnable()
{
@Override
public void run()
{
new BgTask((BgTaskListener)this).execute("","currentState");
}
});