Уведомление о клике при открытии входа в систему вместо основного действияAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Уведомление о клике при открытии входа в систему вместо основного действия

Сообщение Anonymous »

В моем приложении есть уведомление на основе Firebase. Получив сообщение с сервера, я вижу уведомление на своем телефоне. Но когда я нажимаю на сообщение в уведомлении, оно всегда открывает мой экран-заставку, за которым следует LoginActivity вместо MainActivity. Я хочу открыть MainActivity и показать детали сообщения, для чего я передаю тело сообщения в MainActivity с помощью putExtra.

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

@Override
public void onMessageReceived(RemoteMessage remoteMessage) {

//Calling method to generate notification
sendNotification(remoteMessage.getNotification().getTitle().toString(), remoteMessage.getNotification().getBody());
}

//This method is only generating push notification
private void sendNotification(String messageTitle, String messageBody) {
Intent intent = new Intent(this, MainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.putExtra("Title", messageTitle);
intent.putExtra("data", messageBody);
intent.putExtra("KEY", "Notify");

PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent,
PendingIntent.FLAG_ONE_SHOT);

numNotifications = numNotifications + 1;
Uri defaultSoundUri= RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);

inboxStyle.setBigContentTitle(getString(R.string.app_notification)) ;
inboxStyle.setSummaryText(getString(R.string.app_count_notifications1)
+ numNotifications + getString(R.string.app_count_notifications2));

inboxStyle.bigText(messageBody);

NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.q_me_notify)
.setAutoCancel(true)
.setSound(defaultSoundUri)
.setStyle(inboxStyle)
.setGroup(TAG)
.setContentIntent(pendingIntent);

NotificationManager notificationManager =
(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);

try {
notificationManager.notify(TAG, APPID, notificationBuilder.build());
} catch (Exception e) {
e.printStackTrace();
}
}
Мой файл манифеста Android выглядит так:
Это происходит на моем Samsung On8 (J7 Pro) с Android 7.0 - независимо от того, находится ли приложение на переднем плане или в фоновом режиме (оно всегда открывает LoginActivity). Но на моем Nexus 5 с Android 5.1.1 такое поведение наблюдается только тогда, когда приложение находится в фоновом режиме/завершено, тогда как оно работает нормально, когда приложение находится на переднем плане.

Итак , мои вопросы:
  • Как заставить приложение отображать MainActivity на переднем плане, независимо от модели и версии ОС, поэтому что детали уведомления отображаются правильно?
  • Когда приложение находится в фоновом режиме/завершено, как я могу передать значения уведомлений (Splash -> LoginActivity -> MainActivity), поэтому что сообщение корректно отображается в MainActivity?


Подробнее здесь: https://stackoverflow.com/questions/550 ... n-activity
Ответить

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

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

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

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

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