Подтвердить что ты не робот

Как передать намерение с дополнительными функциями уже запущенной деятельности

У меня есть BroadcastReceiver, который запускает HomeActivity с некоторой информацией, переданной с дополнительными функциями.

Что происходит, когда активность уже запущена, и снова активируется приемник вещания, который пытается запустить HomeActivity с новой информацией. Выполняется ли OnResume() или OnCreate() операции?

Если нет, есть ли другой способ передачи/перезагрузки текущей активности при срабатывании BroadcastReceiver?

4b9b3361

Ответ 1

Убедитесь, что когда вы запускаете намерение из BroadcastReceiver, вы устанавливаете флаг FLAG_ACTIVITY_SINGLE_TOP.

intent.addFlags (FLAG_ACTIVITY_SINGLE_TOP);

...


class HomeActivity extends Activity {
   ...
   @Override
   protected void onNewIntent(Intent intent) {
      Bundle extras = intent.getExtras();
   }
   ...
}

Ответ 2

Простое продление Cory Roy ответ вам нужно определить "SingleTop" в AndroidManifest.xml тоже.

<activity
        android:name="MainActivity"            
        android:launchMode="singleTop"

Кажется, что расширение android.support.v7.app.ActionBarActivity этот метод не работает...