How do I create an android Intent that carries data?

前端 未结 3 817
梦谈多话
梦谈多话 2020-12-02 01:45

I might have misunderstood how intents are supposed to be used, so I might be asking the wrong thing here. If that\'s the case, please help me get on the right track with th

3条回答
  •  北海茫月
    2020-12-02 02:03

    Use the Intent bundle to add extra information, like so:

    Intent i = new Intent(MessageService.this, ViewMessageActivity.class);
    i.putExtra("name", "value");
    

    And on the receiving side:

    String extra = i.getStringExtra("name");
    

    Or, to get all the extras as a bundle, independently of the type:

    Bundle b = i.getExtras();
    

    There are various signatures for the putExtra() method and various methods to get the data depending on its type. You can see more here: Intent, putExtra.

    EDIT: To pass on an object it must implement Parcelable or Serializable, so you can use one of the following signatures:

    putExtra(String name, Serializable value)

    putExtra(String name, Parcelable value)

提交回复
热议问题