Может кто-нибудь, пожалуйста, объясните мне, в чем разница между getExtras() и getBundleExtras()?
В чем разница между getExtras и getBundleExtras?
Ответ 1
getBundleExtra("String") получает пакет с именем String.
getExtras() получает пакет со всеми элементами, помещенными в массив.
Пакет можно разместить с помощью команды putExtra(Bundle, String tag), поэтому getBundleExtra() вернет это значение.
Ответ 2
Следует отметить, что getExtras() возвращает копировать всех элементов, помещенных в намерение, его реализация выглядит следующим образом:
4433 public Bundle getExtras() {
4434 return (mExtras != null)
4435 ? new Bundle(mExtras)
4436 : null;
4437 }
поэтому не рекомендуется называть intent.getExtras().putInt(...)