点击notification时,如果它是发送广播的点击事件,通知栏就不会自动收起。我们需要通过代码手动的让通知栏收起。下面贴一下代码:
/** * * 收起通知栏 * @param context */ 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消失可以使用以下代码:
//清除通知栏中的notification NotificationManager notificationManager = (NotificationManager)context.getSystemService(Context.NOTIFICATION_SERVICE); notificationManager.cancel(66);//取消通知。66表示想要清除的notification的id。这个是在显示notification时设置的,需要保持一致