SpamBlocker

May 22, 2026 ยท View on GitHub

Android Call/SMS blocker. (Android 10+)

SpamBlocker Get it on F-Droid Get it on Obtainium Get it on Github

Table of Contents

Screenshots

HistorySettingsNotification

How it works

It works without replacing your call/SMS app.

  • For call:
    It's a Caller ID app.

  • For SMS:

    • Standalone Mode:

      The app takes over SMS notifications, you need to disable notifications from the SMS app to avoid duplicates.

      • Pros
        • Works with any SMS app.
        • Advanced notification management (customizable sound/icon/color/LED)
        • Built-in "Quick Copy" support (for copying OTP codes)
      • Cons
        • Feels disconnected, as messages and notifications are handled by two different apps.
        • The app doesn't handle RCS and MMS multimedia content.
        • Requires SMS permission.
    • Screening provider mode:

      Similar to call screening, the app works as a service. The SMS app asks it to check messages in real time, this app simply replies "block" or "allow".

      • Pros
        • Notifications are handled by the SMS app, feels more natural and intuitive.
        • Works without SMS permission.
        • Better RCS/MMS support.
      • Cons
        • It Only works with SMS apps that support this SMS screening protocol
        • The SMS app might not support features like "Quick Copy" or notification customizing.

Tip

You can kill the app after setup, it doesn't need to stay running in the background.

Features:

FilterIt checks
ContactsFrom a contact?
Contact GroupFrom a contact group?
Contact PrefixMatches prefix of an existing contact? Use case: save one clinic number xxxx22 to allow its full range xxxx11-xxxx99
STIR/SHAKENFails STIR/SHAKEN attestation?
Repeated CallsMultiple calls from the same number in a short while?
Dialed NumberHave you dialed the number?
Answered NumberAllow previously answered numbers
EmergencyAllow calls for a while after dialing an emergency number
Push AlertAllow calls after receiving notifications from other apps, e.g.: "Your order has been taken by driver ...", the driver may then contact you.
SMS AlertAllow calls after receiving SMS messages like: "[From ...] We are calling to inform ..., please feel free to answer."
SMS BombBlock continuous OTP message floods
Recent AppsAllow calls if some apps have been used recently.
Use case:
โ€ƒ You ordered Pizza online and soon they call you to refund.
Meeting ModeDecline calls during online video meetings.
Off TimeA time period that always allows calls, usually no spams at night.
Spam DatabaseIf it exists in the spam database. Any public downloadable spam databases can be integrated, such as the DNC.
Schedule & CalendarAuto adjust rules based on time schedule and calendar events
Geolocation & CarrierBlock numbers based on geolocation or carrier name
CNAPThe caller's display name
Instant QueryCheck the incoming number online in real time, querying multiple API endpoints simultaneously, such as the PhoneBlock.
Report SpamAutomatically or manually report the number to build our crowd-sourced databases, protecting others and yourself.
Regex
(regular expression)
Check the Wiki for examples.

Limitations

FAQ

Permissions

Permission (all optional)Why
INTERNETFor database downloading / instant query / number reporting
ANSWER_PHONE_CALLSReject, answer and hang-up calls
POST_NOTIFICATIONSShow notifications
READ_CONTACTSMatch contacts
RECEIVE_SMS / RECEIVE_MMSFor SMS notification screening
READ_CALL_LOG / READ_SMSFor allowing repeated calls
PACKAGE_USAGE_STATSFor feature: Recent Apps (check whether an app has been used recently)
READ_PHONE_STATEFor BlockMode: Answer+Hang-up (monitor ringing state)
REQUEST_IGNORE_BATTERY_OPTIMIZATIONSFor it to keep working after being swiped and killed
NOTIFICATION_ACCESSFor feature: Push Alert (receiving notifications from other apps)
WRITE_SETTINGSFor customizing call ringtone
READ_LOGFor reporting bugs with logcat messages
SYSTEM_ALERT_WINDOWFor the caller ID floating window

Privacy

  • For offline features

    No data collection.

  • For online features:

    The API endpoints will see your:

    • IP address
    • TLS and TCP fingerprints (which would reveal your Android version)
    • The reported number(including the country code)

    Nothing else.

    You can also disable the internet access , or download the offline apk from the release page.

  • Reproducible apk

  • Apk signing signature:

    apksigner verify --print-certs SpamBlocker.apk

    7b1ce727856f3427eab1fadfad6c9730cd4e6ba201661547f009206377dffb58

Full Privacy Policy

Support

  • Most problems are already covered in the issue list, please search first.
  • There's a matrix channel.

Language support

Languages are translated using AI, PRs for corrections are welcome.

Contributing

Some ideas

Donate ๐Ÿค‘

https://aj3423.github.io/donate