Android Call/SMS blocker. (Android 10+)
- Screenshot
- Target Audience
- How it works
- Features
- Permissions
- Privacy
- Support
- FAQ
- Language Support
- Donate
Call | SMS | Setting | Notification |
---|---|---|---|
- ✅ For people who tends to avoid unknown calls.
- For those who need to answer unknown calls, for example, salespeople or lawyers, etc:
- ✅ If your carrier supports STIR/SHAKEN attestation, or there is any public spam database available for your country.
- ❌ Otherwise, consider using a blocker with its own spam database.
It works without replacing your default call/SMS app.
- For call:
It's the Caller ID app - For SMS:
It takes over the SMS notifications, it only filters the notifications, the spam messages will still be present in the SMS app.💡 Please turn off the notification permission of the default SMS app in system settings, otherwise there will be double SMS notifications.
Filter | It checks |
---|---|
Contacts | Whether from a contact |
Contact Group | Whether it's a member of some contact group |
STIR/SHAKEN | STIR/SHAKEN attestation |
Repeated | Whether it's been calling repeatedly |
Dialed | Whether you have dialed the number |
Recent Apps | If some specific apps have been used recently, all calls are allowed. Use case: You ordered Pizza online and soon they call you to refund. |
In Meeting | Decline calls during online video meetings |
Off Time | A time period that always permits calls, usually no spams at night. |
Spam Database | If it matches any spam number in the database. Any public downloadable spam databases can be integrated, such as the DNC. |
Regex Pattern | Some typical patterns: - Any number: .* (the regex .* is equivalent to the wildcard * in other apps) - Exact number: 12345 - Starts with 400: 400.* - Ends with 123: .*123 - Shorter than 5: .{0,4} - Longer than 10: .{11,} - Unknown number (it's empty string): .{0} or ^$ - Contains "verification": .*verification.* - Contains any of the words: .*(police|hospital|verification).* - Starts with 400, with leading country code 11 or not: (?:11)?400.* - Extract verification code from SMS message: code.*?(\d+) Ask AI to generate or explain a regex: "Show me regex for checking if a string starts with 400 or 200" Results in (400|200).* |
Permission (all optional) | Why |
---|---|
INTERNET | For downloading spam numbers from public databases |
MANAGE_EXTERNAL_STORAGE (Android 11+) READ/WRITE_EXTERNAL_STORAGE (Android 10) |
For file access from automated workflow |
ANSWER_PHONE_CALLS | Reject, Answer and Hang-up calls |
POST_NOTIFICATIONS | Show notifications |
READ_CONTACTS | For matching contacts |
RECEIVE_SMS | For receiving new messages |
READ_CALL_LOG READ_SMS |
For checking if a call is repeated |
PACKAGE_USAGE_STATS | For feature: Recent Apps For checking whether an app has been used recently |
READ_PHONE_STATE | For block mode: Answer + Hang-up (monitor ringing state) |
No data collection
- Internet access:
- For downloading spam numbers only, if you don't use this feature, you can disable the internet access, or download the offline version from the release page.
- No communication with other app
- Reproducible apk
- Most problems have already been discussed in the issue list, please search first.
- There's also a matrix channel
- Google shows security warning when installing this app
- How does the "Priority" work, how to always block a particular number regardless of any other rules
- It stopped working after being killed
- Android 9- support
- Dual SIM support
- Auto delete spam SMS messages
Languages are translated using Gemini AI(golang script), fire an issue for requesting a new language support.