2015-06-15 2 views
2

Моя проблема в том, что в функции onNewIntent() я начинаю новое намерение открывать приложение-приложение и позволяю пользователю завершить процесс создания нового контакта, но когда я пытаюсь для выхода из приложения для контактов и возврата в мое приложение кажется, что onNewIntent() вызывается, скорее всего, из-за этого блока кода.onNewIntent() вызывается в onResume() несколько раз

@Override 
public void onResume() { 
    super.onResume(); 
    // Check to see that the Activity started due to an Android Beam 
    if (NfcAdapter.ACTION_NDEF_DISCOVERED.equals(getIntent().getAction())) { 
     processIntent(getIntent()); 
    } 
} 

Есть ли способ очистить намерения когда-то было названо onNewIntent (названное processIntent).

ответ

3

Похоже, вы могли просто позвонить setIntent() в конце onNewIntent() с новым намерением, который имеет значение действия, которое не приведет к дальнейшей обработке.

Вот пример, где новый Intent для деятельности устанавливается с действием «do_nothing»:

@Override 
protected void onNewIntent(Intent intent) { 
    super.onNewIntent(intent); 

    //Do your current processing here: 
    if (NfcAdapter.ACTION_NDEF_DISCOVERED.equals(intent.getAction())) { 
     //process intent 
     //......... 

     // set intent for Activity to new Intent with "do_nothing" as action 
     Intent i = new Intent(); 
     i.setAction("do_nothing"); 
     setIntent(i); 
    } 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^