2015-04-08 2 views
0

У меня есть деятельность, которая отправляет данные на другой в обычном андроиде способа (с помощью putExtras)Получение Intent данных независимо от состояния приема активности

i.putExtra("ID_NUMBER", id); 

Но у меня есть деятельность, которая может быть либо закрыто, либо в фоновом режиме, когда это намерение отправлено. Я использую следующий метод, чтобы поймать намерение, когда моя деятельность в фоновом режиме:

protected void onNewIntent(Intent intent) { 
    String id = intent.getStringExtra("ID_NUMBER"); 
} 

Но я заметил, этот метод не дозвонились, когда активность создается. Есть ли способ уловить все, что намеренно проходит при вводе активности или является стандартным способом сделать это, чтобы получить намерение в OnCreate()?

+0

Я думаю, вам нужно прочитать документацию, на намерения никогда не будет вызываться, когда ваша деятельность в фоновом режиме. Поэтому ваш метод никогда не будет звонить. –

+2

@SilvansSolanki Я думаю, что вам нужно прочитать документ, так как 'onNewIntent' вызывается независимо от факта, если активность находится в фоновом режиме или нет :) – injecteer

ответ

3

Extract код реагировать на новые намерения и поставить его также в onCreate:

@Override 
protected void onCreate(...) { 
    doOnNewIntent(getIntent()); 
} 

@Override 
protected void onNewIntent(Intent intent) { 
    doOnNewIntent(intent); 
} 

private void doOnNewIntent(Intent intent) { 
    String id = intent.getStringExtra("ID_NUMBER"); 
} 
+1

Готово и работает - спасибо! – MattTheHack

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