當android系統接收到短信時,會發送一個廣播BroadcastReceiver,這個廣播是以有序廣播的形式發送的。
所謂的有序廣播就是廣播發出後,接收者是按照設置的優先級一個一個接着接收,前面的接收者可以選擇是否終止這條廣播以使後面的接收者接收不到,而普遍廣播發送後所有的接收者都能同時接到,但是不能終止這條廣播,也不能將它的處理結果傳遞給下個接收者。
今天實現的sms攔截就是通過實現一個BroadcastReceiver並將其的優先級設置的比系統sms接收者高。
首先實現一個BroadcastReceiver
然後,我們還要註冊它,android:priority就是設置優先級的。
此外,不要忘了添加接收sms的權限
好了,短信攔截就實現了,如果想實現短信黑名單,只需要代碼中獲取到的號碼和已設置的號碼匹配然後做相關操作就可以了。