点击notification时,如果它是发送广播的点击事件,通知栏就不会自动收起。我们需要通过代码手动的让通知栏收起。下面贴一下代码:
调用的是全局的上下文 否则不起作用 权限也是必须的
-
-
-
-
-
- public static void collapseStatusBar(Context context) {
- try {
- Object statusBarManager = context.getSystemService("statusbar");
- Method collapse;
-
- if (Build.VERSION.SDK_INT <= 16) {
- collapse = statusBarManager.getClass().getMethod("collapse");
- } else {
- collapse = statusBarManager.getClass().getMethod("collapsePanels");
- }
- collapse.invoke(statusBarManager);
- } catch (Exception localException) {
- localException.printStackTrace();
- }
需要加上权限:
- <uses-permission android:name="android.permission.EXPAND_STATUS_BAR" />
如果点击notification后希望notification消失可以使用以下代码:
-
- NotificationManager notificationManager = (NotificationManager)context.getSystemService(Context.NOTIFICATION_SERVICE);
- notificationManager.cancel(66);