天平

向着目标一步一步走。

Android Notification不显示浮动通知,不显示锁屏通知

问题

不显示浮动通知,不显示锁屏通知。

解决

1. 首先手机得先开启权限

应用详情 -> 自定义通知 -> 开启对应的权限

这里写图片描述

2. 设置Notification的flag

Notification的flag有5个。

  • FLAG_AUTO_CANCEL
    当通知被用户点击之后会自动被清除(cancel)

  • FLAG_INSISTENT
    在用户响应之前会一直重复提醒音和震动,(如果在default那里开启的话)。

  • FLAG_ONGOING_EVENT
    表示正在运行的事件,例如下载进度。不能清除。

  • FLAG_NO_CLEAR
    通知栏点击“清除”按钮时,该通知将不会被清除。或者没有清除的按钮

  • FLAG_FOREGROUND_SERVICE
    表示当前服务是前台服务,简单通知。默认

重点来了,如果设置了FLAG_ONGOING_EVENT 或者 FLAG_NO_CLEAR 是不能点击清除的,还会导致不会显示悬浮通知和锁屏通知。所以,我们不设置或者设置为FLAG_AUTO_CANCEL就可以了

桌面显示通知数量

不是所有桌面都可以的。 桌面是第三方的应用了。你的应用不能去修改它的东西。

但是miui的系统对系统有做手脚。通过反射可以设置桌面图标消息数量。

设置好了notification之后,在下面加下面一段代码就可以了。

//小米显示桌面消息数量
        try {
            Field field = notification.getClass().getDeclaredField("extraNotification");

            Object extraNotification = field.get(notification);

            Method method = extraNotification.getClass().getDeclaredMethod("setMessageCount", int.class);

            method.invoke(extraNotification, 这里填写数量);
        } catch (Exception e) {
            e.printStackTrace();
        }
阅读更多
版权声明:本文为博主原创文章,转载请带上出处,谢谢。 https://blog.csdn.net/niubitianping/article/details/61200863
上一篇Android快速依赖注入框架Dagger2使用2
下一篇Android SqlDelight详解和Demo例子
想对作者说点什么? 我来说一句

android仿QQ锁屏来信息提醒

2017年05月05日 1.84MB 下载

没有更多推荐了,返回首页

关闭
关闭