Я получаю неожиданное поведение:
- Действие A = действие запуска
- Действие B = оно запущено из уведомления
Когда я закрываю приложение и открываю его из уведомления, запускается действие B.
Итак, когда я нажимаю кнопку HOME, приложение переходит к действию A. Затем я нажимаю кнопку НАЗАД, и приложение переходит в фоновый режим, и я получаю главный экран Android.
Это нормально, но если я открою меню последних приложений и снова выберу свое приложение, оно загрузит действие B вместо действия A, как я и ожидал. Я действительно не знаю, что происходит.
Намерение, установленное в построителе уведомлений:
Intent intent = new Intent(this, ActivityB.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_ONE_SHOT);
В действии B у меня есть:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (id == android.R.id.home) {
Intent intent = new Intent(ActivityB.this, ActivityA.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
}
Любая идея или предложение?
.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
и скажите мне, работает ли это! - person Charuක   schedule 19.01.2017