Android: активность использует старое намерение при запуске приложения из недавней задачиAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Android: активность использует старое намерение при запуске приложения из недавней задачи

Сообщение Anonymous »

Я внедряю GCM. В моем приложении есть два действия, скажем, A и B. Я использую этот код для запуска B из панели уведомлений:

Код: Выделить всё

long when = System.currentTimeMillis();
NotificationManager notificationManager =
(NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
String title = context.getString(R.string.app_name);
Notification notification = new Notification(R.drawable.app_notification_icon, "De Centrale", when);//message
Intent notificationIntent = new Intent(context, B.class);
notificationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP); //|Intent.FLAG_ACTIVITY_REORDER_TO_FRONT
PendingIntent intent = PendingIntent.getActivity(context, 0, notificationIntent, PendingIntent.FLAG_CANCEL_CURRENT);
notification.setLatestEventInfo(context, title, msg, intent);
notification.flags |= Notification.FLAG_AUTO_CANCEL;
notificationManager.notify(0, notification);
NotificationBar открывает действие B с намерением, скажем, «B-notification-intent», затем я открываю действие A из B используя кнопку «Назад», затем снова запускаю B из A с новым намерением (скажем, «BA-intent»). Я использую код ниже:

Код: Выделить всё

intent = new Intent(this, B.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
startActivity(intent);
И затем я получаю новые данные в B (т. е. экран B обновляется).
Но если я нажму кнопку Нажимаю кнопку «Домой», а затем запускаю приложение из «Недавнего приложения», после чего появляется старый экран B с «B-notification-intent». Вместо этого мне нужно последнее намерение, то есть «B-A-намерение». Я использую этот код в B:

Код: Выделить всё

@Override
protected void onCreate(Bundle b)
{
fetchDataFromDB(getIntent());
}

@Override
protected void onNewIntent(Intent intent)
{
fetchDataFromDB(intent);
}
Пожалуйста, помогите мне получить текущий экран (намерение).

Подробнее здесь: https://stackoverflow.com/questions/131 ... ecent-task
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»