Вы не можете делать это так, как хотите, если вы хотите передавать данные между действиями, вы должны использовать дополнительные функции, и вы можете передавать только сериализуемые элементы.
Первый контекст (может быть «Деятельность / Сервис» и т. Д.)
У вас есть несколько вариантов:
1) Используйте Связку от Намерения :
Intent mIntent = new Intent(this, Example.class);
Bundle extras = mIntent.getExtras();
extras.putString(key, value);
2) Создать новый пакет
Intent mIntent = new Intent(this, Example.class);
Bundle mBundle = new Bundle();
mBundle.putString(key, value);
mIntent.putExtras(mBundle);
3) Используйте метод быстрого доступа putExtra () для Intent
Intent mIntent = new Intent(this, Example.class);
mIntent.putExtra(key, value);
Новый контекст (может быть Activity / Service и т. Д.)
Intent myIntent = getIntent(); // this getter is just for example purpose, can differ
if (myIntent !=null && myIntent.getExtras()!=null)
String value = myIntent.getExtras().getString(key);
}
ПРИМЕЧАНИЕ: Пакеты имеют методы "get" и "put" для всех примитивных типов, Parcelables и Serializables. Я просто использовал строки в демонстрационных целях.