来电拦截方案
最近接了很多垃圾电话,分享一下我的拦截方案。
首先我有一个主号,这是很多年前办的,银行、房贷等重要信息的电话,都是用的这个,不能换,但是由于办理时间长,很多垃圾电话和短信。 其次我有一个小号,所有的快递、外卖等电话,都是用这个小号。
最近由于同小区其它楼房开始交房,我的电话简直快要被装修广告打爆了,日常被打断工作,再加上平时的信用卡要我分期, 问我要不要贷款,运营商套路我是否要升级套餐,我决定要把它们干掉。市面上找了几个软件,但是效果都不是很好,比如放歌会被打断。 所以自己写一个。
经与同事论证,现在的手机电话号码,大都是广告骚扰,真正有用的联系:
- 亲人,大部分都在微信,或者已经加了联系人
- 外卖、快递。可以用一个小号,然后把小号加到联系人
- 面试等有用的第三方,同样把电话填成小号即可,小号加到联系人
总之,真正重要的电话,肯定会再次联系,或者发短信,或者微信,或者其它方式联系,又或者,短时间内再打一次。
所以,根据上面的特征,就可以自己搞一个规则出来:
- 在通讯录内,放行
- 不在通讯录内:
- 如果上次拨打是在15分钟以内,放行
- 否则,拒绝
然后就是App的开发了,要有这些功能:
- 上述处理逻辑
- 启动Service
- 几个设置开关以及对应逻辑,开关service,是否在拒接后显示一条静默通知
- 导入联系人,处理各式各样的号码存储方式
差不多就这些。
这个软件实现后,我的世界安静了。不得不感叹一句,会编程真好 :)
垃圾短信解决方案
最后,再提一句垃圾短信的拦截方案,其实用不着那些什么AI啊之类的,直接加一堆关键字(关键字黑名单配合关键字白名单),基本上就拦截干净了。
2020.12.25 更新:
之前我理解错了,小号也是使用来电转接,而来电转接,API获取的是来电者的号码而不是小号的号码,Call.Details
也没有办法
判断是哪个SIM卡来的电话号码,所以只能统一实现不在通讯录内,就挂掉。不过,我加上了多少时间内二次来电,就放行的逻辑,所以
其实还好。另外,如果是跳槽等,知道将会有很多陌生人来电的情况下,就可以把软件关掉,把 “运行” 那里关掉即可。
截图如下:
更多文章
本站热门
- socks5 协议详解
- zerotier简明教程
- 搞定面试中的系统设计题
- 用peewee代替SQLAlchemy
- frp 源码阅读与分析(一):流程和概念
- Golang(Go语言)中实现典型的fork调用
- DNSCrypt简明教程
- 一个Gunicorn worker数量引发的血案
- Golang validator使用教程
- Docker组件介绍(一):runc和containerd
- Docker组件介绍(二):shim, docker-init和docker-proxy
- 使用Go语言实现一个异步任务框架
- 协程(coroutine)简介 - 什么是协程?
- SQLAlchemy简明教程
- Go Module 简明教程