2012-05-25 5 views
0

Я создал класс NotificationView, чтобы отображать уведомление о получении SMS, которое работает нормально, но когда я нажимаю «Уведомление», он не очищается, а значок уведомления остается на панели уведомлений, но я хочу очистить его. Pl указывает мне некоторые подсказки или образец код для этого заранее спасибо или Сори за если запрос не получить cleared..I тега кодаОтображение уведомления о получении sms

благодаря

метод displayNotification на OnReceive. из BroadcastReceiver

частной недействительным displayNotification (String тзд) {

Intent i = new Intent(this.context,NotificationView.class); 
    i.putExtra("ID", ID); 
    /*i.putExtra("msg",msg);*/ 
    PendingIntent pendInt = PendingIntent.getActivity(context, 0, i, 0); 
    Notification notif = new Notification(R.drawable.notify,"Receiving SMS",System.currentTimeMillis()); 
    NotificationManager nm = (NotificationManager)context.getSystemService(Context.NOTIFICATION_SERVICE); 
    notif.setLatestEventInfo(context, "SMS", msg, pendInt); 
    notif.flags |= Notification.DEFAULT_ALL; 
    notif.flags |= Notification.DEFAULT_VIBRATE; 
    notif.flags |= Notification.DEFAULT_LIGHTS; 
    notif.flags |= Notification.FLAG_AUTO_CANCEL;  
    notif.ledARGB = Color.WHITE;       
    notif.ledOnMS = 1500;       
    notif.ledOffMS = 1500;  
    nm.notify(ID, notif); 
} 

И это код класса NotificationView.

общественного недействительными OnCreate (Bundle savedInstanceState) {

super.onCreate(savedInstanceState); 
    setContentView(R.layout.notificationview); 
    txtNotify = (TextView)findViewById(R.id.txtNotification); 
    ID = getIntent().getExtras().getInt("ID"); 
    /*txtNotify.setText(getIntent().getExtras().getString("msg"));*/ 
} 

private View.OnClickListener txtClick = new View.OnClickListener() { 

    @Override 
    public void onClick(View v) { 
     // TODO Auto-generated method stub 
     switch(v.getId()){ 
     case R.id.txtNotification: 
      NotificationManager nm = (NotificationManager)getSystemService(NOTIFICATION_SERVICE); 
      txtNotify.setText("");    
      nm.cancel(ID);   
      nm.cancelAll(); 
      NotificationView.this.startActivity(new Intent(NotificationView.this,ZigbeeActivity.class)); 
     } 
    } 
}; 

ответ

0

Почему вы используете трубы ("|") в поле ниже код

notif.flags |= Notification.FLAG_AUTO_CANCEL; 

удалить его и проверить

notif.flags = Notification.FLAG_AUTO_CANCEL; 
+0

спасибо сэр теперь он отлично работает спасибо –

+0

сэр. Я хочу применить уведомление по умолчанию, которое вы выбираете из устройства. sir, пожалуйста, расскажите, как я c набор По умолчанию, например Show_Light, Vibrate и Sound для уведомления –

Смежные вопросы