Skip to content

Instantly share code, notes, and snippets.

@jacquesgiraudel
Created March 16, 2016 06:28
Show Gist options
  • Save jacquesgiraudel/8272a1b603b42162ce93 to your computer and use it in GitHub Desktop.
Save jacquesgiraudel/8272a1b603b42162ce93 to your computer and use it in GitHub Desktop.
handlermessage-snippet
public class ReceiveFromServiceActivity extends AppCompatActivity {
// Message handler of the service
class ResponseHandler extends Handler {
@Override public void handleMessage(Message message) {
Toast.makeText(ReceiveFromServiceActivity.this, "message from service : " + message.getData().getString("message"),
Toast.LENGTH_SHORT).show();
}
}
// Messenger toward the activity
Messenger messenger = new Messenger(new ResponseHandler());
@Override
protected void onCreate(Bundle savedInstanceState) {
...
Intent intent = new Intent(this, SendingService.class);
// Passing of the messenger to the service
intent.putExtra("activityMessenger", messenger);
startService(intent);
}
}
public class SendingService extends Service {
// Messenger toward the activity
private Messenger activityMessenger;
@Override
public void onStart(Intent intent, int startId) {
// Retrieving of the messenger toward the activity
activityMessenger = intent.getParcelableExtra("activityMessenger");
// Send of a message to the activity
Message messageToActivity = Message.obtain();
messageToActivity.getData().putString("message", "Hello activity !");
try {
activityMessenger.send(messageToActivity);
} catch (RemoteException e) {
e.printStackTrace();
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment