您的位置:首页 > 移动开发 > Android开发

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

2017-03-10 17:10 344 查看

问题

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

解决

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();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息