Android中的通知按钮的Onclick监听器

时间:2014-06-12 06:54:06

标签: android android-notifications

我已经为API版本超过16的按钮创建了一个通知。

通知和按钮正常出现。我想在点击按钮或通知时忽略通知。

点击通知时,通知会被清除,但当我点击按钮时它没有做任何事情就不一样了。

我不确定如何听按钮点击通知?有人可以帮我解决这个问题吗?

enter image description here

看一下屏幕截图...所以当我点击AndroidProject时 - 清除通知并相应地调用一个intent,但是当我点击Close或红色X标记通知仍然存在但是调用了intent时。单击关闭或X按钮时如何实现清除通知?

以下是我的尝试:

Intent notificationIntent = new Intent(context, ServicetocancelAlarm.class);
PendingIntent contentIntent = PendingIntent.getService(context, 0, notificationIntent, PendingIntent.FLAG_CANCEL_CURRENT);
Resources res = context.getResources();

Notification noti = new Notification.Builder(context)
    .setContentTitle(res.getString(R.string.app_name))
    .setContentText(res.getString(R.string.cancelText))
    .setSmallIcon(R.drawable.ic_launcher)
    .setTicker(res.getString(R.string.ticker))
    .setAutoCancel(true)
    .setWhen(System.currentTimeMillis())
    .setContentIntent(contentIntent)
    .addAction(R.drawable.cancel, "DISMISS", contentIntent).build();

NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
noti.flags |= Notification.FLAG_AUTO_CANCEL;
notificationManager.notify(0, noti);

谢谢!

1 个答案:

答案 0 :(得分:1)

当您在通知管理器上调用通知时,您为其指定了一个ID - 这是您稍后可以用来访问它的唯一ID(来自通知管理器:

notify(int id, Notification notification)

取消

cancel(int id)

请阅读以下链接: -

http://developer.android.com/reference/android/app/Notification.html

Dismiss Ongoing Android Notification Via Action Button Without Opening App