2014-01-24 3 views
0

Я запуск MainActivty из BroadcastReceiver, когда Android начинается:запуск BroadcastReceiver несколько мероприятий

Intent miIntent = new Intent(this, MainActivity.class); 
miIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
this.startActivity(miIntent); 

Это прекрасно работает; запускается MainActivity. Проблема заключается в том, что я нажимаю кнопку home на MainActivity, а затем снова открываю приложение. Он не возобновляет работу приложения, а создает новую активацию. Если я нажму кнопку на кнопку (MainActivity содержит кнопку для завершения()) MainActivity появляется снова, потому что последнее не закрывается. Помогите мне, пожалуйста, я не знаю, что делать.

Я думаю, проблема в флажках, потому что, если я снова открою приложение, он отлично работает (без загрузки извещателя).

Спасибо!

+0

http://stackoverflow.com/questions/9772927/flag-activity-new-task-clarification-needed –

ответ

1

Вы можете попробовать добавить флаги FLAG_ACTIVITY_CLEAR_TASK и FLAG_ACTIVITY_CLEAR_TOP к вашим намерениям.

mIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP |  Intent.FLAG_ACTIVITY_NEW_TASK); 

Flag Активность Clear Top: http://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_CLEAR_TOP

Флаг активности Ясно Задача: http://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_CLEAR_TASK

ИЛИ

Вы можете попробовать добавить андроид: launchMode = "SingleTop" к вашему MainActivity в манифест, это говорит о том, что будет выполняться только один экземпляр действия. Поэтому, если другой экземпляр его существует, он возобновит его, вместо того чтобы заменить его новым.

Удачи!

+0

it WORKS !!!! Большое спасибо, я использую android: launchMode = "singleTop" – user3232546

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