Extras - PerfectCarl/androidannotations GitHub Wiki

Since AndroidAnnotations 1.0

@Extra

The @Extra annotation indicates that an activity field should be injected with the corresponding Extra from the Intent that was used to start the activity.

Usage example:

@EActivity
public class MyActivity extends Activity {

  @Extra("myStringExtra")
  String myMessage;
	
  @Extra("myDateExtra")
  Date myDateExtraWithDefaultValue = new Date();

}

Since AndroidAnnotations 2.6

If you do not provide any value for the @Extra annotation, the name of the field will be used.

@EActivity
public class MyActivity extends Activity {

  // The name of the extra will be "myMessage"
  @Extra
  String myMessage;
}

Note that you can use the intent builder to pass extra values.

MyActivity_.intent().myMessage("hello").start() ;

Handling onNewIntent()

Since AndroidAnnotations 2.6

AndroidAnnotations overrides setIntent(), and automatically reinjects the extras based on the given Intent when you call setIntent().

This allows you to automatically reinject the extras by calling setIntent() from onNewIntent().

@EActivity
public class MyActivity extends Activity {

    @Extra("myStringExtra")
    String myMessage;

    @Override
    protected void onNewIntent(Intent intent) {
        setIntent(intent);
    }
}