关于Notification无法显示:NotificationService﹕ Suppressing toast from package xxx by user request.

    刚学习广播接收者,就摸索着做了一个监测手机开机启动的软件,备份手机联系人等信息。

为了确保广播在手机启动完成后确实启动了该软件,就在广播接收者内部添加了一个通知Notification,即当运行了广播接收者后在任务栏弹出"开机成功"的通知。

通知代码如下:

            Notification.Builder builder = new Notification.Builder(context);
            builder.setSmallIcon(R.drawable.ic_launcher)
                    .setContentTitle("通知")
                    .setContentText("开机成功");
            Notification notification = builder.build();
            NotificationManager manager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
            manager.notify(1024, notification);

然而,奇怪的事情出现了,本程序在手机上测试时没有通知弹出。但,查看日志发现弹出通知的代码确实执行了,但报了一个不该出现的异常:
01-29 12:41:36.535    2594-2594/? E/NotificationService﹕ Suppressing notification from package com.qianfeng.gl4study.contactbackup by user request.

研究发现,Notification.Builder使用的最低版本是 API 11。而手机是API 19,完全满足了。

       各种折腾之后,最后却发现在手机设置中有一项通知栏推送的设置,这一项设置一定不能关闭,允许该应用推送信息,这样就能正常弹出通知了。其实很简单的问题却浪费了很长时间,一直在代码上找原因,最后却发现问题不在代码。

       这不算什么技术,只是不同厂商定制系统不同,设置也不一样。安卓的定制化对开发带来了很多的麻烦,但也为使用者带来了方便,所以不能简单的说是好还是坏吧。出现问题要调试的时候,就从各方面来考虑会出现问题的地方,先从代码入手,若代码没有错误,就要考虑不同厂商定制制系统的原因了。可以换一部手机或者使用虚拟机来测试程序。一步一步找寻原因,找错的过程就是一个探索的过程。用平常心看待,一切都很容易解决。

     最后一句,加油!

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值