I've been looking for quite some time for some good documentation or a good example of this. I need to make changes to my main activity UI from the worker thread in my service which is running in the background. As far as I understand I know that I am suppose to work with some sort of Handler but I am not sure exactly how to approach this.
Does anyone have any ideas or good examples that they could direct me to? The UI element I am changing is a TextView that is simply informing the user of the status of the thread.
Thanks for your help.
All you have to do is to create a Handler
on the UI thread:
private Handler serviceHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
someFunctionInTheUIThread();
}
};
And then pass this through to your service. You could have a function in the Service like this:
public void registerHandler(Handler serviceHandler) {
handler = serviceHandler;
}
and then pass the handler through like this:
theService = ((LocalBinder) service).getService();
theService.registerHandler(serviceHandler);
then to send a message back:
Message msg = handler.obtainMessage(IDENTIFIER, "Message or data");
handler.sendMessage(msg);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With