How to hide status bar notification icons?
Interestingly, you don't need an app to hide those notifications. You can go to the App Info screen for an app and uncheck the "Show notifications" option. There are a few ways to get to the App Info page for an app.
- On some launchers, you can drag the app out of the drawer, and onto an "App Info" area.
- Likewise, on some launchers, you can long-press the icon and an options menu comes up with "App Info".
- Go to "Settings", then "Apps", then select the specific app you're looking to hide notifications (and icons) from.
Let's also take a moment to learn the reason why apps (like weather apps, etc) don't have an option inside the app itself to do this!
If an app requires its notification to be displayed 100% of the time, then Android's Garbage Collector/Process Manager is not able to automatically kill it. If, for example, The Weather Channel's app allowed you to disable the notification/icon, then using that option would possibly allow Android to kill the background process (without knowing that it's important) and it would stop getting weather updates.
Services that use Push Notifications (Like Hangouts, Email, lots of chat apps, etc) don't need to be constantly running in the background to function. However, apps that need to do more background processing or need richer data (I guess weather apps?) need more than just push notifications. That's why this is a thing.
Fortunately, disabling notifications inside the App Info screen does not affect the app's other functionality. The app is still requesting the notification to be shown (Therefore protecting itself from getting killed) but the SystemUI App is just configured not to show it.
Thing is, if I do that, the Weather app would turn off completely. I simply want to get rid of the icon in the statusbar.
I'm fairly certain - as I said in my answer - that doing that will not disable the app. Although perhaps I misunderstood your intentions. Do you want to keep the notification, but only get rid of the icon? (If so, I believe you're out of luck - I don't think that's possible without doing some system hacking)
Try Notifications Off.
Notifications Off is a useful utility for controlling application notifications in a centralized way. Instead of toggling notifications for applications individually from the settings screen you can turn off notifications for all applications from one place.
Although the question does not state so unambiguously, I interpret it as asking to remove the status bar icons only and leave the notifications as they are. If that is what you want to do you can try the app NotifyClean. However, your phone needs to be rooted and you need to have the Xposed Framework installed. If that is a possibility for you, the app will give you very fine grained control over which icons/notifications to display or hide (see app description for details).
Came across this question here while trying to solve it for myself. With further googling found a solution that doesn't require root, but it does require your device be on Oreo (or possibly Nougat, not sure).
If you're on Oreo, you can go in the notification settings for the app and change the importance level. If you set it to the lowest level the notification icon will not be shown. The notification itself will remain, but it might get collapsed if there's three or more different apps showing notifications.
If the notification setting for the app says something like "no sound" or "make sound" you can click on that and change the importance level in the next screen. If you can't find any way to change the importance, you can try using a third-party app AutoNotifications although it's not free and will also require giving it some permissions. I have not tried the app myself, my issues were resolved without the app.