Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
No Android 11 (nível 30 da API) e versões mais recentes, a plataforma oferece suporte aos protocolos
STIR/SHAKEN para fornecer um
método seguro e particular de verificar e comunicar o número do autor da chamada a um
destinatário quando uma chamada é feita. O Android 11 e versões mais recentes oferecem suporte para que apps,
como discadores nativos, filtro de ligações e apps de spam, acessem os dados
do veredito da operadora. Isso permite que os apps identifiquem chamadas de spam e informem os usuários antes
de atender uma chamada.
Para dispositivos com Android 11 e versões mais recentes, os apps de filtro de ligações e spam que usam
a API CallScreeningService
podem acessar o recurso de filtrar uma chamada, melhorando a privacidade do usuário e o desempenho
do dispositivo. Com essa API, os apps não precisam pedir permissões individuais
e podem ter acesso a outras informações que não estavam disponíveis nas
solicitações de permissão padrão no Android 10 e versões anteriores. Os dados disponíveis nessa API incluem:
Número de chamadas recebidas ou realizadas
Notificação de ligação recebida e encerramento
Acesso limitado à janela de alertas do sistema para informações de triagem
na chamada e pós-chamada
Capacidade de rejeitar chamadas recebidas
Duração da chamada
Motivo da desconexão da ligação
Veredito STIR/SHAKEN
Implementação
Os apps discador, filtro de ligações e spam precisam adotar a
API CallScreeningService. Quando um usuário seleciona o app como identificador de chamada
e spam padrão, o app recebe acesso ao método
getCallerNumberVerificationStatus(), que exibe o veredito STIR/SHAKEN do mecanismo de verificação da operadora
para o protocolo STIR/SHAKEN. Isso possibilita a detecção de ligações automáticas.
Além disso, os apps de filtro de ligações podem implementar uma tela pós-chamada invocando
a ação da intent
ACTION_POST_CALL, que inicia uma atividade que permite que o usuário marque uma chamada como
spam ou adicione um número à lista de contatos salvos.
O conteúdo e os exemplos de código nesta página estão sujeitos às licenças descritas na Licença de conteúdo. Java e OpenJDK são marcas registradas da Oracle e/ou suas afiliadas.
Última atualização 2025-07-27 UTC.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Não contém as informações de que eu preciso","missingTheInformationINeed","thumb-down"],["Muito complicado / etapas demais","tooComplicatedTooManySteps","thumb-down"],["Desatualizado","outOfDate","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Problema com as amostras / o código","samplesCodeIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-07-27 UTC."],[],[],null,["# Prevent caller ID spoofing\n\nIn Android 11 (API level 30) and higher, the platform supports the [STIR/SHAKEN\nprotocols](https://en.wikipedia.org/wiki/STIR/SHAKEN) to provide a\nsecure and private method of verifying and communicating a caller's number to a\nrecipient when a call is placed. Android 11 and higher provide support for apps,\nsuch as native dialers, call screening, and spam apps, to access the carrier\nverdict data. This lets apps identify spam calls and inform users before\nanswering a call.\n\nFor devices running Android 11 and higher, call screening and spam apps that use\nthe [CallScreeningService API](/reference/android/telecom/CallScreeningService)\ncan access functionality to screen a call, enhancing user privacy and device\nperformance. Using this API, apps don't need to ask for individual permissions\nand can get access to additional information that wasn't available through\nstandard permission requests in Android 10 and lower. The data available in this\nAPI include:\n\n- Number of incoming or outgoing call\n- Notification of an incoming call and termination\n- Limited access to the system alert window for in-call and post-call screening information\n- Ability to reject incoming calls\n- Call duration\n- Call disconnect reason\n- STIR/SHAKEN verdict\n\n| **Note:** On 4G+ networks, because the SIP headers used by carrier networks contain personally identifiable information (PII), the headers aren't shared directly with apps to protect user privacy. The default caller ID and spam app can access the verdict information without accessing the SIP headers. \n|\n| In non-4G networks, the details of the CNAM are shared with dialer and call screening apps. The app can choose to display this data in full to warn users about possible spam calls.\n\nImplementation\n--------------\n\nDialer apps, call screening apps, and spam apps should adopt the\nCallScreeningService API. When a user selects the app as their default caller ID\nand spam app, the app receives access to the\n[`getCallerNumberVerificationStatus()`](/reference/android/telecom/Call.Details#getCallerNumberVerificationStatus())\nmethod, which surfaces the STIR/SHAKEN verdict from the carrier verification\nmechanism for the STIR/SHAKEN protocol. This makes robocall detection possible.\n\nAdditionally, call screening apps can implement a post-call screen by invoking\nthe\n[`ACTION_POST_CALL`](/reference/android/telecom/TelecomManager#ACTION_POST_CALL)\nintent action, which starts an activity that allows the user to mark a call as\nspam or add a number to their list of saved contacts."]]