NotificationManager.cancel()之后Android通知不起作用

时间:2016-04-12 12:22:21

标签: android notifications notificationmanager

我有一个service1向MainActivity广播服务状态,MainActivity在收到广播后发送通知。此通知被标记为不可取消通知。为了在应用程序从任务面板中被杀死时取消通知,我使用Cancel notification on remove application from multitask panel中提供的KillNotificationsService绑定了活动。  解决方案取消通知。 我还需要在service1停止时取消通知。所以我把

   @Override
public void onDestroy(Intent intent) {
    NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
    mNotificationManager.cancel(KillNotificationsService.NOTIFICATION_ID);
}

(NOTIFICATION ID是KillNotificationsService中的静态变量)。

取消此通知后,下次启动service1时,在service1广播状态后,将不会显示具有相同ID的通知(NOTIFICATION_ID)。我尝试为通知分配唯一的ID和gc,但它似乎没有用。

如果有人可以帮助我。

1 个答案:

答案 0 :(得分:0)

可能是您正在使用广播接收器的上下文来构建通知

使用应用程序上下文来构建通知。

Context context=getApplicationContext();
NotificationManager mNotificationManager=(NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(context);
mNotificationManager.notify(KillNotificationsService.NOTIFICATION_ID, mBuilder.build());