Sugestão de conta de telefone

No Android 10, o serviço de sugestão de conta de telefone permite que sugestões de contas de telefone sejam mostradas aos usuários ao fazer uma chamada. Por exemplo, para usuários com um dispositivo com vários SIMs e taxas mais baixas para chamadas intra-rede, este serviço primeiro identifica a operadora do chamado e, em seguida, sugere o uso do SIM na mesma rede que o chamado.

O serviço de sugestão de conta de telefone é opcional e pode ser implementado em dispositivos com Android 10 ou superior.

Implementação

Para implementar sugestões de conta de telefone, implemente um serviço PhoneAccountSuggestionService em um aplicativo localizado em /system/priv-app/ . O serviço não é consultado se mais de um PhoneAccountSuggestionService for implementado. O serviço deve declarar a permissão android.Manifest.permission.BIND_PHONE_ACCOUNT_SUGGESTION_SERVICE .

Quando um usuário faz uma chamada de saída em que nem a conta de telefone de saída padrão nem a conta de telefone preferencial estão definidas para o destinatário, o serviço de telecomunicações liga-se a PhoneAccountSuggestionService para coletar informações sobre as contas, onAccountSuggestionRequest(String number) é chamado e a chamada de saída processo está suspenso.

PhoneAccountSuggestionService deve chamar suggestPhoneAccounts(String number, List<PhoneAccountSuggestion> suggestions) com o número retornado por onAccountSuggestionRequest(String number) .

Quando suggestPhoneAccounts(String number, List<PhoneAccountSuggestion> suggestions) é chamado, o serviço de telecomunicações retorna uma lista de contas de telefone sugeridas. O discador deve exibir a lista de contas de telefone sugeridas para o usuário escolher para fazer a chamada.

Sugestão de conta de telefone

Para fazer sugestões, use a classe PhoneAccountSuggestion . Por exemplo, se o serviço determinar que o destinatário está na mesma operadora de um dos SIMs do dispositivo, o serviço deverá marcar a conta do telefone com REASON_INTRA_CARRIER . Esta informação pode então ser transmitida ao usuário no discador.

Por exemplo, em uma situação em que o usuário configurou o dispositivo para usar um SIM de trabalho para todos os contatos em uma conta do Google de trabalho, o serviço deve marcar a conta de telefone com REASON_USER_SET e definir shouldAutoSelect como true para permitir que o discador ignore a caixa de diálogo de seleção e fazer a chamada automaticamente usando a conta do telefone.

Para obter informações sobre outras sugestões, consulte PhoneAccountSuggestion .

Discador

Quando a chamada entra no estado STATE_SELECT_PHONE_ACCOUNT , o discador deve usar as informações de PhoneAccountSuggestion para manipular EXTRA_SUGGESTED_PHONE_ACCOUNTS .

Desativando o serviço

Para customizar sua implementação para operadoras específicas, você pode habilitar ou desabilitar o serviço usando setComponentEnabledSetting . O serviço não é consultado se desativado.

Implementação da IU do sistema

Dependendo da sua implementação, podem ser necessárias alterações na IU do sistema. Por exemplo, para permitir que os usuários especifiquem que todas as chamadas para um contato específico sejam feitas de uma conta de telefone específica, você deve implementar um fluxo de configuração personalizado e interface do usuário de configurações para o dispositivo.

Validação

Para validar sua implementação, execute os seguintes testes CTS:

,

No Android 10, o serviço de sugestão de conta de telefone permite que sugestões de contas de telefone sejam mostradas aos usuários ao fazer uma chamada. Por exemplo, para usuários com um dispositivo com vários SIMs e taxas mais baixas para chamadas intra-rede, este serviço primeiro identifica a operadora do chamado e, em seguida, sugere o uso do SIM na mesma rede que o chamado.

O serviço de sugestão de conta de telefone é opcional e pode ser implementado em dispositivos com Android 10 ou superior.

Implementação

Para implementar sugestões de conta de telefone, implemente um serviço PhoneAccountSuggestionService em um aplicativo localizado em /system/priv-app/ . O serviço não é consultado se mais de um PhoneAccountSuggestionService for implementado. O serviço deve declarar a permissão android.Manifest.permission.BIND_PHONE_ACCOUNT_SUGGESTION_SERVICE .

Quando um usuário faz uma chamada de saída em que nem a conta de telefone de saída padrão nem a conta de telefone preferencial estão definidas para o destinatário, o serviço de telecomunicações liga-se a PhoneAccountSuggestionService para coletar informações sobre as contas, onAccountSuggestionRequest(String number) é chamado e a chamada de saída processo está suspenso.

PhoneAccountSuggestionService deve chamar suggestPhoneAccounts(String number, List<PhoneAccountSuggestion> suggestions) com o número retornado por onAccountSuggestionRequest(String number) .

Quando suggestPhoneAccounts(String number, List<PhoneAccountSuggestion> suggestions) é chamado, o serviço de telecomunicações retorna uma lista de contas de telefone sugeridas. O discador deve exibir a lista de contas de telefone sugeridas para o usuário escolher para fazer a chamada.

Sugestão de conta de telefone

Para fazer sugestões, use a classe PhoneAccountSuggestion . Por exemplo, se o serviço determinar que o destinatário está na mesma operadora de um dos SIMs do dispositivo, o serviço deverá marcar a conta do telefone com REASON_INTRA_CARRIER . Esta informação pode então ser transmitida ao usuário no discador.

Por exemplo, em uma situação em que o usuário configurou o dispositivo para usar um SIM de trabalho para todos os contatos em uma conta do Google de trabalho, o serviço deve marcar a conta de telefone com REASON_USER_SET e definir shouldAutoSelect como true para permitir que o discador ignore a caixa de diálogo de seleção e fazer a chamada automaticamente usando a conta do telefone.

Para obter informações sobre outras sugestões, consulte PhoneAccountSuggestion .

Discador

Quando a chamada entra no estado STATE_SELECT_PHONE_ACCOUNT , o discador deve usar as informações de PhoneAccountSuggestion para manipular EXTRA_SUGGESTED_PHONE_ACCOUNTS .

Desativando o serviço

Para customizar sua implementação para operadoras específicas, você pode habilitar ou desabilitar o serviço usando setComponentEnabledSetting . O serviço não é consultado se desativado.

Implementação da IU do sistema

Dependendo da sua implementação, podem ser necessárias alterações na IU do sistema. Por exemplo, para permitir que os usuários especifiquem que todas as chamadas para um contato específico sejam feitas de uma conta de telefone específica, você deve implementar um fluxo de configuração personalizado e interface do usuário de configurações para o dispositivo.

Validação

Para validar sua implementação, execute os seguintes testes CTS:

,

No Android 10, o serviço de sugestão de conta de telefone permite que sugestões de contas de telefone sejam mostradas aos usuários ao fazer uma chamada. Por exemplo, para usuários com um dispositivo com vários SIMs e taxas mais baixas para chamadas intra-rede, este serviço primeiro identifica a operadora do chamado e, em seguida, sugere o uso do SIM na mesma rede que o chamado.

O serviço de sugestão de conta de telefone é opcional e pode ser implementado em dispositivos com Android 10 ou superior.

Implementação

Para implementar sugestões de conta de telefone, implemente um serviço PhoneAccountSuggestionService em um aplicativo localizado em /system/priv-app/ . O serviço não é consultado se mais de um PhoneAccountSuggestionService for implementado. O serviço deve declarar a permissão android.Manifest.permission.BIND_PHONE_ACCOUNT_SUGGESTION_SERVICE .

Quando um usuário faz uma chamada de saída em que nem a conta de telefone de saída padrão nem a conta de telefone preferencial estão definidas para o destinatário, o serviço de telecomunicações liga-se a PhoneAccountSuggestionService para coletar informações sobre as contas, onAccountSuggestionRequest(String number) é chamado e a chamada de saída processo está suspenso.

PhoneAccountSuggestionService deve chamar suggestPhoneAccounts(String number, List<PhoneAccountSuggestion> suggestions) com o número retornado por onAccountSuggestionRequest(String number) .

Quando suggestPhoneAccounts(String number, List<PhoneAccountSuggestion> suggestions) é chamado, o serviço de telecomunicações retorna uma lista de contas de telefone sugeridas. O discador deve exibir a lista de contas de telefone sugeridas para o usuário escolher para fazer a chamada.

Sugestão de conta de telefone

Para fazer sugestões, use a classe PhoneAccountSuggestion . Por exemplo, se o serviço determinar que o destinatário está na mesma operadora de um dos SIMs do dispositivo, o serviço deverá marcar a conta do telefone com REASON_INTRA_CARRIER . Esta informação pode então ser transmitida ao usuário no discador.

Por exemplo, em uma situação em que o usuário configurou o dispositivo para usar um SIM de trabalho para todos os contatos em uma conta do Google de trabalho, o serviço deve marcar a conta de telefone com REASON_USER_SET e definir shouldAutoSelect como true para permitir que o discador ignore a caixa de diálogo de seleção e fazer a chamada automaticamente usando a conta do telefone.

Para obter informações sobre outras sugestões, consulte PhoneAccountSuggestion .

Discador

Quando a chamada entra no estado STATE_SELECT_PHONE_ACCOUNT , o discador deve usar as informações de PhoneAccountSuggestion para manipular EXTRA_SUGGESTED_PHONE_ACCOUNTS .

Desativando o serviço

Para customizar sua implementação para operadoras específicas, você pode habilitar ou desabilitar o serviço usando setComponentEnabledSetting . O serviço não é consultado se desativado.

Implementação da IU do sistema

Dependendo da sua implementação, podem ser necessárias alterações na IU do sistema. Por exemplo, para permitir que os usuários especifiquem que todas as chamadas para um contato específico sejam feitas de uma conta de telefone específica, você deve implementar um fluxo de configuração personalizado e interface do usuário de configurações para o dispositivo.

Validação

Para validar sua implementação, execute os seguintes testes CTS: