Skip to content

Frequently Asked Questions

Aditya Rajput edited this page Mar 23, 2026 · 12 revisions

Isn't there notification management already built into Android? Why use NotiFilter?

Yes, Android does have some built-in notification management options like categories and DND. However...

  1. Many apps do not correctly categorize their notifications, often sending ads through the same category as important security alerts.
  2. Notifications from the system or about on-going events are exempt from Android's built-in notification management.
  3. There is no ability to silence notifications based on keywords or specific content.

Hence, NotiFilter!

Does NotiFilter require root access?

No, NotiFilter does not require root access to function.

What permissions does NotiFilter need and why?

NotiFilter requires the following permissions:

Additionally, the following permissions are included in the app manifest but only utilized when triggered by the user:

Other permissions may be used by libraries to manage tasks, such as widget updates.

Why does Google Play Protect flag NotiFilter as potentially harmful?

Google Play Protect intends to keep inexperienced users safe from installing malicious apps. Here is (probably) why its algorithms don't trust NotiFilter:

  • Permissions: The permissions NotiFilter uses (see above) are often used by spyware/adware apps.
    • Why you are safe: NotiFilter doesn't have network access, and all required permissions correspond to the app's core functionality.
  • Import/Export: The filter import/export feature uses raw JSON files, which could potentially be used to deliver malicious payloads. Plus, the libraries used for this are reflective and dynamic in nature.
    • Why you are safe: The feature is opt-in and requires user action to function. The app is open-source, so anyone can verify that the app doesn't do anything except what is strictly necessary for the core functionality.
  • Google: Google despises non-OEM apps that help users take control of their own device. Genuinely, a lot of Android APIs are being locked away from developers, even in sideloaded apps. Big Brother doesn't like competition.
    • Why you are safe: Unlike Google, I don't own the world's largest advertising business. I wouldn't know what to do with your data even if I collected it.

What are some use-cases for NotiFilter?

Personally, I use NotiFilter to get rid of the following notifications:

  1. "Upcoming alarm" notifications from the Clock app.
  2. Daily notifications from the OEM that say "Software updates available".
  3. System notifications like "Charging", "Tubular is displaying over other apps", "PingOff can view and control your screen".
  4. Promotional notifications from e-commerce apps that don't allow disabling them directly.

How do I target all notifications from a certain app?

Caution

This is a very bad idea. It may lead to data loss.

You can use the regex pattern .* to match every notification from the selected app.

Why regex? Why isn't there an option for simple case-insensitive keyword-search filters?

Starting with a simple system and adding complexity (as per user requirements/demands) is difficult: I would have to design and test the rules of this new string-matching system myself. Also, it would (probably) be pretty useless outside of this one app. Using regex—a system that has been designed well + tested in the field for years + is known to many users already—allows me to focus on the actual execution-logic of the app.

When I first decided to go with regex, I thought: "Surely this is overkill. No one's gonna use complex patterns to block notifications. It's probably just |, ., *, ^, and $ that will see any use." But nope! The very first issues included patterns that used regex features I didn't even know about. (The issues were unrelated to the patterns, but the users included them anyway.) Now, because NotiFilter has no analytics, I can't know the percentage of users who are using complex patterns, but I think overall it's beneficial to support advanced users, no matter how few of them there are.

Also, learning regex can help when trying out other projects like FileFlow 😉

Also-also, I wanted to avoid xkcd:927.