Exibição de conteúdo em aparelhos que operam em uma rede CDMA
O aplicativo de telefone em um aparelho BlackBerry exibe a tela de chamada ativa quando um usuário atende ou faz uma chamada. Depois que o usuário atende uma chamada, ele pode receber e atender uma segunda chamada. Nos aparelhos que operam em uma rede CDMA, a segunda chamada não invoca os mesmos eventos que a chamada original invoca. No caso desses aparelhos, para exibir conteúdo personalizado na tela da chamada ativa, você deve substituir o método AbstractPhoneListener.callAnswered() e o método AbstractPhoneListener.callWaiting().
| Método |
Descrição |
|---|---|
| callAnswered() |
Para exibir conteúdo na tela da primeira chamada ativa, substitua AbstractPhoneListener.callAnswered() e obtenha objetos de tela de chamada para a chamada ativa. O aplicativo de telefone invoca esse método quando o usuário atende a primeira chamada. Nos aparelhos que operam em uma rede GSM, o aplicativo de telefone invoca esse método quando o usuário atende a primeira chamada e a segunda chamada. |
| callWaiting() |
Para exibir conteúdo na tela da segunda chamada ativa, substitua AbstractPhoneListener.callWaiting() e obtenha objetos de tela de chamada para a chamada ativa. O aplicativo de telefone invoca esse método quando o usuário atende a segunda chamada. |
Exemplo de código: Exibição de conteúdo em aparelhos que operam em uma rede CDMA
O seguinte exemplo de código demonstra como substituir AbstractPhoneListener.callWaiting(). Você pode verificar se o aparelho opera em uma rede CDMA usando a classe RadioInfo. Você obtém as instâncias da tela da chamada ativa invocando ScreenModel.getPhoneScreen() e passando PhoneScreen.ACTIVE de modo que você só especifique conteúdo para a segunda chamada.
public void callWaiting(int callId)
{
// For CDMA devices, specify the content for the active call screen
if((RadioInfo.getSupportedWAFs() & RadioInfo.WAF_CDMA) != 0)
{
ScreenModel screenModel = new ScreenModel(callId);
PhoneScreen phoneScreenPortrait = screenModel.getPhoneScreen(PhoneScreen.PORTRAIT, PhoneScreen.ACTIVE);
PhoneScreen phoneScreenLandscape = screenModel.getPhoneScreen(PhoneScreen.LANDSCAPE, PhoneScreen.ACTIVE);
}
// For GSM and CDMA devices, specify the content for the incoming call screen
}
Estas informações foram úteis? Gostaríamos de receber seus comentários.