0

NotificationView受信時に通知を表示するクラスを作成しましたSMSが、これをクリックしNotificationてもクリーンにならず、通知アイコンは通知バーに残りますが、クリーンにしたい場合は、事前にヒントまたはサンプルコードを指定してくださいまたはクエリがクリアされない場合は申し訳ありません..コードにタグを付けます

ありがとう

displayNotification方法OnReceive_BroadcastReceiver

private void displayNotification(String msg){
    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クラスのコードです。

public void 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));
        }
    }
};
4

1 に答える 1

0

以下のコードでパイプ( "|")を使用している理由

notif.flags |= Notification.FLAG_AUTO_CANCEL; 

それを削除して確認してください

notif.flags = Notification.FLAG_AUTO_CANCEL; 
于 2012-05-25T06:47:14.750 に答える