Created
March 16, 2016 06:28
-
-
Save jacquesgiraudel/8272a1b603b42162ce93 to your computer and use it in GitHub Desktop.
handlermessage-snippet
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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