Как получить getIntent () для возврата null после операции, вызванной с набором намерений

Этот вопрос был похож на мой первоначальный вопрос, но я думаю, что есть лучший способ приблизиться к решению.

GetIntent возвращает неправильное намерение, когда setIntent сопровождается вращением

В основном, в моей основной Activity , которая расширяет FragmentActivity , есть два случая, когда в Fragment я передаю Intent для этого действия.

Это код, который имеет проблему:

 public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(...); if (getIntent() != null && getIntent().getData() != null) { String data = getIntent().getDataString(); //setIntent(null); 

setIntent была попыткой решить мою проблему, но она не работала.

Что происходит, когда я нажимаю ссылку, которая возвращается к моей Деятельности как намерение, затем я перехожу к следующему фрагменту, затем поворачиваю телефон, намерение, которое было передано двумя фрагментами назад, появляется снова, когда я вызываю getIntent .

Итак, когда я получаю данные из Intent, как я могу установить его, чтобы следующий вызов getIntent вернул значение null? Или, было бы разумно только, чтобы данные в Intent были равны нулю?

Я пытаюсь избежать обновления информации в SharedPreferences, чтобы справиться с этим.

Solutions Collecting From Web of "Как получить getIntent () для возврата null после операции, вызванной с набором намерений"

Я нашел решение, которое, похоже, работает, но я ожидаю, что есть лучший способ сделать это.

  if (getIntent() != null && getIntent().getData() != null) { String data = getIntent().getDataString(); getIntent().setData(null); setIntent(null); 

Я думаю, что setIntent не setIntent , но setData(null) похоже, делает трюк.