Разница между getExtras (name) .getString и getIntent (). GetStringExtra (name)

У меня есть несколько отчетов об ошибках в моем приложении для Android, это исключение Nullpointerexception в onCreate () в Activity. Ошибка: getIntent (). GetExtras (). GetStringExtra ("name"). (Nullpointerexception)

Это означает, что getExtras () каким-то образом имеет значение null. Я уверен, что устанавливаю намерение дополнительно в каждом месте, в котором оно создается. Я не могу воссоздать его на своем эмуляторе на устройстве. Я думаю, что это произошло на моем реальном устройстве (но не во время отладки) после того, как я снова попытался открыть приложение, а тем временем Android, вероятно, убил процесс и снова воссоздал активность. Но разве не должны сохраняться намерения статистов даже в этом сценарии?

Я попытался остановить процесс на эмуляторе, onCreate был вызван снова, и getExtras () вернул правильное значение.

Я заменил код на getIntent (). GetStringExtra (). Какая разница, кроме того, что выиграл? t генерирует исключение nullpointerexception, но по-прежнему устанавливает String как null. Есть ли еще какая-нибудь разница?

Что может быть причиной этого?

7
задан Marco Ferrari 16 September 2014 в 12:12
поделиться