Изменение текста уведомления 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
С тем же идентификатором.