显示有关短信接收的通知
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了显示有关短信接收的通知相关的知识,希望对你有一定的参考价值。
我已经制作了一个NotificationView
类来显示接收SMS
的通知工作正常但是当我点击Notification
它没有清理并且通知图标保留在通知栏上但是我希望清理它pl指定了一些提示或示例代码如果查询未被清除,请提前感谢或抱歉。我标记代码
谢谢
在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));
}
}
};
答案
为什么在下面的代码中使用管道(“|”)
notif.flags |= Notification.FLAG_AUTO_CANCEL;
删除它并检查
notif.flags = Notification.FLAG_AUTO_CANCEL;
以上是关于显示有关短信接收的通知的主要内容,如果未能解决你的问题,请参考以下文章