Как обновить отображение уведомлений изнутри функции
Я использую audio_service и just_audio в своем приложении flutter, которое является радио-плеером, и у меня возникают проблемы с обновлением mediaItem в уведомлении.
Когда я вызываю mediaItem.add(item) из play() или pause(), он работает нормально, но когда я пробую то же самое изнутри функции (той, которую я использую для изменения mediaItem в первую очередь), она не обновляется.
примеры кода:
@override
Future<void> play() async {
mediaItem.add(item);
_player.play();
}
Там работает, в уведомлении отображается обновленный пункт
но если я позвоню:
updateMediaItems(String album, String title, String artist, String coverUrl) async {
item = MediaItem(
id: 1,
album: album,
title: title,
artist: artist,
artUri: Uri.parse(coverUrl),
);
}
mediaItem.add(item);
}
Сам элемент правильно обновлен, но не отображается в уведомлении. Если кто-то может помочь мне понять, в чем проблема, я много раз оглядывался и пробовал, но не получил (это мое первое приложение, использующее флаттер)
ОБНОВИТЬ :
Я просто попытался вызвать функцию из моей функции play() вот так:
@override
Future<void> play() async {
updateMediaItems('','test title','','default');
_player.play();
}
И тем самым работает.
ПОСЛЕДНЕЕ ОБНОВЛЕНИЕ
Я попытался вызвать функцию из своего класса AudioHandler, и она работает. Кажется, проблема заключалась в том, что я звонил из своего класса PageManager. Я действительно не понимаю, почему, если кто-то может мне это объяснить, это будет хорошо, но, по крайней мере, у меня это работает