Notification Bar 아이콘 숨기기


Any.DO 어플리케이션을 보면 Notification에 아이콘이 표시 되어 있지 않은데, Notification을 내리면 View가 표시 되어 있는것을 볼 수있다.

이것은 아주 간단한 방법이다.

아이콘은 1x1px의 투명 이미지를 사용 사용 하면 된다,

     mNotification =  new Notification.Builder(getApplicationContext())
                                     .setContentIntent(PendingIntent.getActivity(getApplicationContext(), 0, contentsIntent, 0))
                                     .setAutoCancel(false).getNotification();
     
     mNotification.icon = R.drawable.icon_hidden; //1X1 PX사이지의 투명 이미지
     
     mNotification.flags |= Notification.FLAG_ONGOING_EVENT;

     startForeground(SERVICE_STATUS, mNotification);

단, 안드로이드 4.0이상에서만 적용 된다. 




StatusBar Disable


안드로이드의 상태바의 상태를 Disable한다.


ClassName으로 StatusBarManager의 메소드를 호출한다.


단, OS에 다라 메소드 명이 다르다.


        Object service  = getSystemService(“statusbar”);
Class statusbarManager = Class.forName(“android.app.StatusBarManager”);

    Method collapse = null;

    if (Build.VERSION.SDK_INT  < 17) {
        collapse = statusbarManager.getMethod("collapse");
    } else {
        collapse = statusbarManager.getMethod("collapsePanels");
    }
    collapse.setAccessible(true);
    collapse.invoke(service);