通知服务

时间:2013-11-21 05:30:17

标签: android

我有一个通知服务,其中在服务的启动方法中创建通知...意图指向actvityA ...我不清楚活动和服务绑定过程..在activityA我想要一个方法执行检查通知和成功执行该方法..通知被取消..我有红色很多帖子说通知控制是不可能的..Plz帮助一些检查通知收到..谢谢提前.. < / p>

nm =(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
                        Log.d("nm", "nm created");
                        Intent in=new Intent(UpdateService.this,ActivityA.class);
TaskStackBuilder.create(UpdateService.this);

                        stackBuilder.addParentStack(ActivityA.class);

                        stackBuilder.addNextIntent(in);

                        PendingIntent pi =stackBuilder.getPendingIntent( 0,PendingIntent.FLAG_UPDATE_CURRENT);
                        notification =new NotificationCompat.Builder(UpdateService.this)
                                .setSmallIcon(R.drawable.ic_launcher)
                                .setContentTitle("Some Update")
                                .setContentText("Question");
                        notification.setContentIntent(pi);
                        notification.setAutoCancel(true);

                        int id=100;
                        int numMessages = 0;
                         notification.setContentText("You have unread messages..")
                            .setNumber(++numMessages);
                        nm.notify(id, notification.build());
                        stopSelf();

.i提到..有一个对话框..出现..在按下正面按钮...通知mst得到清除...在负面...对话将被解雇..和通知将保持..

1 个答案:

答案 0 :(得分:1)

您必须记录通知ID。然后在您的方法中,取消具有该ID的通知。

如何取消通知,这是link

在您设置通知的位置添加此代码。

SharedPreferences prefs = this.getSharedPreferences(
      "com.example.app", Context.MODE_PRIVATE);
prefs.edit().putInt("ID", id).commit();

将此添加到按下YES时调用的onClick侦听器。

SharedPreferences prefs = this.getSharedPreferences(
          "com.example.app", Context.MODE_PRIVATE);
int notificationId = prefs.getInt("ID");

现在使用此notificationId,通知。