小米顶部弹窗

看到QQ和微信顶部消息有时会有弹窗,想着自己能不能弄个出来,于是百度,发现一个概念:横幅通知,感兴趣的可以去百度。

然后各种苦逼的复制粘贴,发现:小米不能直接通过横幅通知实现该功能,会直接跳转到一个新的页面,根本看不到横幅通知,难道是我眼瞎?

好吧,再找,再git上找到一个,但还是不能用:

https://github.com/zzz40500/HeadsUp

第三个点击直接bug掉了,异常:

no valid smallicon

我于是找源码,发现已经设置了:

  HeadsUp headsUp1 = new HeadsUp.Builder(MainActivity.this)
                        .setContentTitle("标题")
                        //要显示通知栏通知,这个一定要设置
                        .setSmallIcon(R.drawable.icon)
                        //2.3 一定要设置这个参数,负责会报错
                        .setDefaults(NotificationCompat.DEFAULT_ALL)
                        .setLargeIcon(BitmapFactory.decodeResource(getResources(), R.drawable.icon))
                        .setContentIntent(pendingIntent)
                        .setContentText("这个是自定义通知")
                        .buildHeadUp();

于是查看HeadsUp类,它是这样的:

 public Builder setSmallIcon(int icon) {
            headsUp.setIcon(icon);
//            super.setSmallIcon(icon);
            return this;
        }
        protected   Builder setIcon(int icon){
            super.setSmallIcon(icon);
            return this;
        }
好吧,你厉害,把setSmallIcon注释掉了,解开注释,或者修改protected为public,再加一个setIcon。

比较好的做法是:

public Builder setSmallIcon(int icon) {
 	    super.setSmallIcon(icon);
            return this;
        }
        protected   Builder setIcon(int icon){            
		headsUp.setIcon(icon);
 return this; 
}


这样才比较合理。

另外,记得在设置开启悬浮窗权限,不然也用不了,以上是个人对HeadsUp的修复方式

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值