我最近制作了一个在线广播应用程序。我将状态栏通知实现为音乐播放器通知。我使用onDestroy()
清除了通知,但问题是有时onDestroy()
没有被调用。
如何以编程方式从状态栏中清除状态栏通知?
我制作了清除通知的代码,所以请不要发布该代码。我想知道在没有调用onDestroy()
时如何清除状态栏通知。我尝试了这个问题的所有相关StackOverflow链接。任何帮助将不胜感激。
答案 0 :(得分:2)
你弄错了。你很可能根本不想关心onDestroy()
(因为你认为它不会被调用)。您可以很好地了解您的应用程序何时位于最前面(因此无需通知,因为您的活动可见)或在后台运行(因此您需要通知)。为此,我将使用扩展应用程序并使用ActivityLifecycleCallbacks
答案 1 :(得分:-1)
如果你这样创建Notification
:
NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
Notification.Builder builder = new Notification.Builder(TestActivity.this);
int NOTIFY_ID = 0;
builder
.setSmallIcon(R.drawable.some_icon)
.setTicker(songTitle)
.setOngoing(true)
.setContentTitle("Playing")
.setContentText(songTitle);
notification = builder.build();
notificationManager.notify(NOTIFY_ID, notification);
然后你可以像这样取消(删除)这个Notification
:
notificationManager.cancel(NOTIFY_ID);