显示有关短信接收的通知

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了显示有关短信接收的通知相关的知识,希望对你有一定的参考价值。

我已经制作了一个NotificationView类来显示接收SMS的通知工作正常但是当我点击Notification它没有清理并且通知图标保留在通知栏上但是我希望清理它pl指定了一些提示或示例代码如果查询未被清除,请提前感谢或抱歉。我标记代码

谢谢

displayNotificationOnReceive上的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; 

以上是关于显示有关短信接收的通知的主要内容,如果未能解决你的问题,请参考以下文章

flutter:应用关闭时通过接收短信弹出通知

bluetooth4.0 ble 接收短信通知

短信推送通知

收到短信时,联系人姓名未显示在通知中

OUTLOOK里面要怎么设置Exchange接收?

各大APP注册时发送短信验证码是怎么实现的?