Notification通知点击无效,无法跳转问题

在Android项目中遇到通知点击无法跳转Activity的问题,通过debug和对比正常demo,发现Notification的声明位置不当导致。将notification声明移动到builder.setContentIntent之后问题解决。同时,设置setSmallIcon才能显示下拉通知图标。问题起因可能是从Eclipse迁移到Studio时,未正确处理setLatestEventInfo的废弃,使用Notification.Builder构建时需注意。
摘要由CSDN通过智能技术生成

今天遇到一个很奇怪的问题,就是我们项目里的通知突然间失效了,具体表现是:通知栏能弹出通知提示,但是想通过它点击跳转到Activity确无法响应,也不消失,然后就抓耳挠腮的开始一点点debug调试找原因所在,始终无所收获。后来我又把项目里的有关通知的代码(一共也没有多少)单独写成一个demo,发现也还是不行。经历了各种百度,查资料,终无所或,后来找了个正常的demo,反复对比,一点点修改实验,终于被我找到了问题所在,下面我就开始讲述一下问题所在。

       首先,先展示一下有问题的代码:

        NotificationManager nm = (NotificationManager) mContext.getSystemService(Context.NOTIFICATION_SERVICE);
        Notification.Builder builder = new Notification.Builder(mContext);
        builder.setContentTitle(title);
        builder.setContentText(content);
        Notification n = builder.getNotification();
        if (PublicUtils.ISDEMO) {
            n.icon = R.drawable.icon_main;
        } else {
            n.icon = R.drawable.icon_main;
        }
        n.tickerText = title;
        if (awoketype == 2) {// isSound表示需要声音提示
            n.defaults |= Notification.DEFAULT_SOUND;// 调用默认声音
        } else if (awoketype == 1) {// 震动
            n.defaults |= Notification.DEFAULT_VIBRATE; // 调用系统默认震动,需要权限
            long[] vibrate = {0, 100, 200, 300}; // 自定义震动
            n.vibrate = vibrate;
        } else {//铃声加震动
            n.defaults |= Notification.DEFAUL
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值