중국시가넷 - 메시지 플랫폼 - 핸드폰이 스팸문자를 가로막을 수 있나요?
핸드폰이 스팸문자를 가로막을 수 있나요?
휴대전화가 켜져 있고 신호가 있으면 상대방의 메시지를 받을 수 있다. 발신자 거부 또는 블랙리스트로 설정되어 있을 때 상대방이 문자를 보내면 휴대전화는 여전히 이 문자를 받을 수 있다. 문자메시지는 당신의 휴대전화 블랙리스트나 접수거부 전화 기록에 보관되어 있습니다. 그 안에는 접수거부 전화 기록뿐만 아니라 문자메시지 차단 기록도 들어 있습니다. (데이비드 아셀, Northern Exposure (미국 TV 드라마), 문자명언)
문자 메시지 차단은 사실 비교적 간단한 일종이다. 인터넷에는 많은 관련 소개가 있다. 여기서는 주로 글쓰기 과정에서 발생하는 몇 가지 문제를 소개하겠습니다.
우선 문자차단의 원칙은 문자메시지 방송을 감시하고 문자메시지 수가 블랙리스트에 올랐는지 여부를 판단하는 것이다. 그렇다면 abortBroadcast 를 통해 브로드캐스트 전송을 종료합니다. 그 중에서도 하는 과정에서 가장 중요한 문제는 가로막는 것이 아니라 먼저 가로막는 것이다. SMS 방송은 질서 정연한 방송이기 때문에 먼저 방송을 받는 사람은 방송 전송을 끝낼 권리가 있기 때문에 우리는 실제로 우리가 방송을 받을 수 있는 권한을 최고 수준으로 끌어올릴 수 있는 방법을 강구해야 한다. 여기에는 두 가지 주요 방법이 있습니다. 1 은 최대 대권 한도를 설정하고, 2 는 등록 방법을 동적 등록으로 설정하는 것입니다.
최대 권한을 설정하는 것은 실제로 브로드캐스트를 등록할 때 최대 우선 순위를 설정하는 것입니다. 안드로이드 시스템의 API 는 최대 권한이 1000 이라고 선언하지만 실제로는 int 값을 받고, 시스템에는 온라인 판단 값이 없으므로 int 의 최대값을 설정할 수 있습니다. 이 권한은 가장 높습니다.
그렇다면 모두 최대 권한이고, 누구의 우선순위가 더 높다면, 두 번째, 동적 등록 모니터링이다. 소스 코드에 동적으로 등록된 브로드캐스트는 정적 방송 전에 모니터링 목록에 배치되므로 동적 등록을 사용하여 모니터링을 설정합니다.
그럼, 모두가 동적 등록을 하면 누가 먼저 받나요? 이곳은 응용한 가방 이름과 관련이 있는 것 같습니다. 잘 모르겠어요. 설치 시간이 빠를수록 우선 순위가 높을수록 시스템의 패키지 이름 별칭 순서가 높아집니다 (우리가 작성한 패키지 이름의 알파벳 순서가 아님).
그럼 구체적인 실현을 살펴봅시다. 먼저 서비스를 구축한 다음 이 서비스가 백그라운드에서 계속 실행되도록 합니다 (데몬, 부팅 브로드캐스트 등으로 계속 존재할 수 있음). ) 를 누른 다음 서비스의 onStartCommand 및 onDestroy 메서드에 브로드캐스트 및 등록 해제를 각각 등록합니다.