当多次调用startforeground时,通知远程视图重复



在服务中,我有一个主远程视图

notRemoteView = new RemoteViews(context.getPackageName(), R.layout.notification_layout);

此外,我添加了另一个包含ImageButton 的远程视图

RemoteViews btnView1 = new RemoteViews(context.getPackageName(), R.layout.btn1);
notRemoteView.addView(R.id.image_button_container, btnView1);

之后我打电话给

startForeground(requestCode, notification);

这一切都很好,点击时会执行适当的操作,但随后ImageButton会被复制。btnView1远程视图似乎被重新添加到主远程视图中。单击每个按钮后,会在通知中添加另一个按钮。即使在生成通知之前将两个远程消息都置空,也会发生这种情况。

我以前把ImageButton作为主远程视图的一部分,它运行得非常好。注意:我将startForeground(requestCode, notification);与相同的requestCode一起使用,这是更新服务/后台通知的正确方法吗

我想好了,每次我想更新通知时都需要删除所有远程视图:

notRemoteView = new RemoteViews(context.getPackageName(), R.layout.notification_layout);
notRemoteView.removeAllViews(R.id.image_button_container);

感谢这个答案:Android应用程序小部件:内容添加了两次

相关内容

  • 没有找到相关文章

最新更新