天天看点

Android收起通知栏--level 16之前的一个坑

终于建了一个自己个人小站:https://huangtianyu.gitee.io,以后优先更新小站博客,欢迎进站,O(∩_∩)O~~

点击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时设置的,需要保持一致  

<a></a>

继续阅读