Может кто-нибудь, пожалуйста, объясните мне, в чем разница между 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(...)