Как передать намерение с дополнительными функциями уже запущенной деятельности
У меня есть BroadcastReceiver
, который запускает HomeActivity
с некоторой информацией, переданной с дополнительными функциями.
Что происходит, когда активность уже запущена, и снова активируется приемник вещания, который пытается запустить HomeActivity
с новой информацией. Выполняется ли OnResume()
или OnCreate()
операции?
Если нет, есть ли другой способ передачи/перезагрузки текущей активности при срабатывании BroadcastReceiver
?
Ответы
Ответ 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 этот метод не работает...