Изменение текста уведомления android динамически

Я пытаюсь сделать уведомление для музыкального плеера с элементами управления. Я успешно слушаю события нажатия кнопки, и функции запускаются должным образом. Единственная проблема, с которой я сталкиваюсь, - это изменение текста уведомления об этих событиях щелчка. Вот что я пытаюсь.

это приемник, успешно принимающий вызовы и запускающий каждую линию отлично. Но я не могу изменить текст. Я думаю, что мне нужно сбросить представление содержимого в Notification. Если да, то как мне это сделать?

@Override
public void onReceive(Context context, Intent intent) {
   String action = intent.getAction();
    if (action.equals("stop")) {
        ABCFragment.stopSong();
        Log.d("Notification","Stopping");
    }else if (action.equals("play")) {
        ABCFragment.togglePlayPause();
        Log.d("Notification","Toggle Play/Pause");
        RemoteViews contentView = new RemoteViews(context.getPackageName(),R.layout.notification_layout);
        contentView.setTextViewText(R.id.songName, "SOME NEW SONG");
    }else if (action.equals("next")) {
        ABCFragment.playNextSong();
        Log.d("Notification","Next");
    }
}

устранение :

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

@Override
public void onReceive(Context context, Intent intent) {
   String action = intent.getAction();
    if (action.equals("stop")) {
        ABCFragment.stopSong();
        Log.d("Notification","Stopping");
    }else if (action.equals("play")) {
        ABCFragment.togglePlayPause();
        Log.d("Notification","Toggle Play/Pause");
        new ABCNotification(context, "SOME NEW SONG");
    }else if (action.equals("next")) {
        ABCFragment.playNextSong();
        Log.d("Notification","Next");
    }
}

конструктор обрабатывает новые переданные аргументы.

1 ответов


вы не можете изменить вещи о уведомление. Это немного раздражает, вам просто нужно заменить текущее уведомление новым с новым текстом.

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

так просто заново построить уведомление и вызов notify() на NotificationManager С тем же идентификатором.