Код уведомления:private void sendNotification(String title, String me" />

Какой переопределенный метод Activity запускается при нажатии на уведомление?

android notifications

60 просмотра

2 ответа

454 Репутация автора

У меня есть, MainActivityчто я хочу открыть, когда пользователь нажимает на уведомление.

Мой код ниже.

Manifest.xml:

 <activity android:name=".activity.MainActivity"></activity>

Код уведомления:

private void sendNotification(String title, String messageBody) {
        Intent intent = new Intent(this, MainActivity.class);
        intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
        PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent,
                PendingIntent.FLAG_ONE_SHOT);

        Uri defaultSoundUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
        NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this)
                .setSmallIcon(R.mipmap.ic_launcher)
                .setContentTitle(title)
                .setContentText(messageBody)
                .setAutoCancel(true)
                .setSound(defaultSoundUri)
                .setContentIntent(pendingIntent);

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

        notificationManager.notify(0, notificationBuilder.build());
}

Я хочу знать:

  • Какой переопределенный метод вызывается, когда мое приложение закрывается и я нажимаю на уведомление?
  • Какой переопределенный метод вызывается, когда мое приложение работает, и я нажимаю на уведомление?
Автор: Zaeem Sattar Источник Размещён: 18.07.2016 11:04

Ответы (2)


0 плюса

2016 Репутация автора

Доброе утро понедельника!

На самом деле все немного сложнее: когда на ваше уведомление нажимают, выполняется ожидание, которое Intentвы создали, и, как следствие, действие, которое было назначено в вашем уведомлении (в вашем случае - MainActivity)

Таким образом, действие начинается как обычное действие, и если вам нужно передать некоторые параметры, просто добавьте дополнительные к Intentперед тем, как преобразовать его вPending Intent

Автор: Laurent Meyer Размещён: 18.07.2016 11:10

0 плюса

2053 Репутация автора

OnMessage будет вызываться всегда, когда на мобильное устройство приходит уведомление, даже если приложение закрыто, работает или работает в фоновом режиме.

protected override void OnMessage(Context context, Intent intent) {
// Your code here 
}
Автор: Amit Soni Размещён: 18.07.2016 11:10
Вопросы из категории :
32x32