Android: No icon for Notification

后端 未结 4 813
死守一世寂寞
死守一世寂寞 2020-12-09 05:37

I wanted to create a notification without the icon in the status bar (the state that is not expanded). I tried the custom expanded view and set the icon for this view only.

相关标签:
4条回答
  • 2020-12-09 05:56

    QuickSettings did this and as I looked at that code I saw it uses the default constructor of Notification and pushes its icon to the right of the notification bar. I think it still uses space but has no icon.

    Some code:

    notification = new Notification();
    notification.flags |= Notification.FLAG_ONGOING_EVENT;
    notification.flags |= Notification.FLAG_NO_CLEAR;
    long hiddenTime = Constants.SDK_VERSION >= 9 ? -Long.MAX_VALUE : Long.MAX_VALUE;
    notification.when = visible ? System.currentTimeMillis() : hiddenTime; // align
    // left (0) / right (max) in status bar
    

    edit: oh sorry I missed an important line of code, in fact he uses a placeholder. But now you have some code ;-)

    notification.icon = visible ? (status == Constants.STATUS_BLACK_ICON ? 
                                R.drawable.ic_logo_black : R.drawable.ic_logo_white)
                                : R.drawable.ic_placeholder;
    

    http://code.google.com/p/quick-settings/source/browse/trunk/quick-settings/src/com/bwx/bequick/receivers/StatusBarIntegrationReceiver.java

    0 讨论(0)
  • 2020-12-09 05:57

    Here's something to experiment with. Put up a notification twice, once with icon=0 and once with a real icon. Try it in one order and then in the opposite order.

    I got the effect of no notification in status bar and notification in expanded list when I did something like this, except that one of the two (the one with icon=0) was put up by Service.startForeground(). I don't have time to experiment more right now.

    0 讨论(0)
  • 2020-12-09 06:11

    You could use a transparent images as the notification icon. but as molnarm already mentioned, the user won't notify that there is a new notification

    0 讨论(0)
  • 2020-12-09 06:19

    This is now possible in Android 4.1; the reference implementation of the Jelly Bean status bar will suppress icons for PRIORITY_MIN notifications, although their content will still show in the notification panel.

    0 讨论(0)
提交回复
热议问题