Что вы делаете здесь: // Создание нового пакета
Bundle b1 = new Bundle();
// Установка некоторого значения в этом пакете
b1.putString("name", "Abraham");
// Создание нового намерения
Intent i = getIntent();
и здесь без назначения b1 (связка) для вашего намерения, как это
i.putExtras (b1);
// здесь выполучить нулевой пакет из намерения.
Bundle b2 = i.getExtras ();
// Таким образом, вы не получили никаких пакетов и получили исключение
b1.putAll(b2);
Вам просто нужно назначитьваш пакет с намерением.как упомянуто выше жирным шрифтом.