I’m trying to find a way to send an integer value from my Service to my MainActivity, but I can’t figure it out with online tutorials. I use a handler to receive messages that I send from a stream in my service.
My code for the thread in the service:
private class ServiceThread extends Thread {
@Override
public void run() {
super.run();
try{
Log.i("Service", "TASK PERFORMED");
int x = 0;
for (int i = 0; i < 20; i++){
x += (random.nextInt(20) + 20);
}
theInteger = x/20;
Message msg = Message.obtain();
msg.what = MY_RND_INT;
msg.arg1 = theInteger;
handler.sendMessage(msg);
}catch(Exception e){
e.getMessage();
}
}
}
My code for receiving the message:
public Messenger mMessenger = new Messenger(new IncomingHandler());
class IncomingHandler extends Handler {
@Override
public void handleMessage(Message msg) {
switch (msg.what) {
case SimpleService.MY_RND_INT:
rndInt.setText(msg.arg1);
break;
default:
super.handleMessage(msg);
}
}
}
source
share