我正在尝试更新通知,但我无法做到,这是我的代码:
NotificationCompat.Builder nBuilder;
RemoteViews remoteView;
static NotificationManager nManager;
static int NOFIY_ID = 2;
static Bitmap bitmap2;
static boolean isExists2;
public void MakeNotification(Context context,String Name,String AlbumART) {
if(Added_RvHolders.isPlaying)
Added_RvHolders.mMediaPlayer.stop();
if(!AlbumART.equals("")) {
Uri sArtworkUri = Uri
.parse("content://media/external/audio/albumart");
Uri albumArtUri = ContentUris.withAppendedId(sArtworkUri, Long.parseLong(AlbumART));
try {
bitmap2 = MediaStore.Images.Media.getBitmap(
context.getContentResolver(), albumArtUri);
isExists2 = true;
} catch (IOException e) {
isExists2 = false;
}
} else {
isExists2 = false;
}
if(IsFirstTime) {
nBuilder = new NotificationCompat.Builder(context)
.setAutoCancel(true)
.setOnlyAlertOnce(true)
.setSmallIcon(R.mipmap.small_app_icon)
.setOngoing(true);
remoteView = new RemoteViews(context.getPackageName(), R.layout.music_notification);
}
if(isExists2)
remoteView.setImageViewBitmap(R.id.AlbumART, bitmap2);
else
remoteView.setImageViewResource(R.id.AlbumART,R.mipmap.main_app_icon);
remoteView.setTextViewText(R.id.TrackTitle,Name);
//set the button listeners
setListeners(remoteView, context);
nBuilder.setContent(remoteView);
nManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
nManager.notify(NOFIY_ID, nBuilder.build());
}
出了什么问题:
在选择另一首歌时没有更新,在“OnClick”方法中,我正在传递新名称/封面艺术,但它没有更新,即使我已经尝试“取消”通知并制作它再次,仍然在相同的信息。
我在期待什么? :
按下新歌后,通知会更新。
答案 0 :(得分:1)
除了使用相同的构建器之外,你不能将构建器设置为静态,或者远程视图,删除静态解决了我的问题。