У меня есть следующий поток с конструктором в моем классе обслуживания.
public class communicationDetails extends Thread {
communicationDetails(final Handler _handler, final Handler conn_handler) throws IOException {
mhandler = _handler;
connHandler = conn_handler;
}
В onCreate
в моем сервисе я попытался создать поток и запустить его. Первый обработчик работает нормально, я моготправлять сообщения.Поскольку я хочу отправить сообщение с задержкой, во втором обработчике я пытаюсь использовать метод postDelay.Вот тут и возникает проблема.
try {
communication_Details = new communicationDetails(
// works fine
new Handler(Looper.getMainLooper()) {
@Override
public void handleMessage(final Message msg) {
// sending messages
}
},
//this throws an error
new Handler(Looper.getMainLooper()).postDelayed(new Runnable() {
@Override
public void run() {
// call a method
}
}, 2000));
} catch (IOException e) {
e.printStackTrace();
}
communication_Details.start();
Я получаю следующую ошибку.Какую глупую ошибку я здесь делаю?или это совершенно неправильный подход.
error: incompatible types: boolean cannot be converted to Handler