2013-05-16 62 views
0

我收到通知,我想关闭按钮单击。我使用SetAutoCancel,但它不起作用。任何人都知道如何实现它?使用此按钮remoteViews.setOnClickPendingIntent(R.id.notificationbutton, pIntent);Android通知SetAutoCancel无法正常工作

代码

RemoteViews remoteViews = new RemoteViews(getPackageName(), 
       R.layout.customnotification); 

     String strtitle = getString(R.string.customnotificationtitle); 

     Intent intent = new Intent(this, NotificationView.class); 

     intent.putExtra("text", strtext); 
     PendingIntent pIntent = PendingIntent.getActivity(this, 0, intent, 
       PendingIntent.FLAG_UPDATE_CURRENT); 

     remoteViews.setOnClickPendingIntent(R.id.notificationbutton, pIntent); 

     NotificationCompat.Builder builder = new NotificationCompat.Builder(
       this).setSmallIcon(R.drawable.logosmall) 
       .setTicker(getString(R.string.customnotificationticker)) 
       .setAutoCancel(true).setContentIntent(pIntent) 
       .setContent(remoteViews); 

     remoteViews.setImageViewResource(R.id.imagenotileft, 
       R.drawable.ic_launcher); 
     remoteViews.setTextViewText(R.id.title, 
       getString(R.string.customnotificationtitle)); 
     remoteViews.setTextViewText(R.id.text, 
       getString(R.string.customnotificationtext)); 

     NotificationManager notificationmanager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); 
     notificationmanager.notify(0, builder.build()); 

回答

3

autoCancel工作只有默认的通知点击调用,如果你正在使用的按钮,你必须清除通知你的自我

题外话,为什么使用自定义按钮时,有builder.addAction?

+0

是的,我知道addAction。我想尝试一个自定义按钮。你如何清除通知? –

+0

您的NotificationManager实例在您的案例中调用clear(int id)id为0 – mstrengis

+0

对于NotificationManager类型,方法clear(int)未定义。不能这样做,我猜 –

相关问题