Compartilhar via


Coleta de dígitos

Além de habilitar o monitoramento de dígitos e ser notificado de dígitos um de cada vez, um aplicativo também pode solicitar que vários dígitos sejam coletados em um buffer. Somente quando o buffer estiver cheio ou quando alguma outra condição de encerramento for atendida, o aplicativo será notificado. A coleta de dígitos é útil para funções como crédito cartão coleção de números. Ele é executado quando um aplicativo chama lineGatherDigits, especificando um buffer a ser preenchido com dígitos. A coleta de dígitos termina quando uma das seguintes condições é verdadeira:

  • O número solicitado de dígitos foi coletado.
  • Um dos vários dígitos de terminação é detectado. Os dígitos de terminação são especificados para lineGatherDigits e o dígito de terminação também é colocado no buffer.
  • Um dos dois tempos limite expira. Os tempos limite são um tempo limite de primeiro dígito, especificando a duração máxima antes que o primeiro dígito precise ser coletado e um tempo limite entre dígitos, especificando a duração máxima entre dígitos sucessivos.
  • A coleta de dígitos é cancelada explicitamente por lineGatherDigits novamente com outro conjunto de parâmetros para iniciar uma nova solicitação de coleta ou usando um parâmetro de buffer de dígito NULL para cancelar.

Quando a coleta de dígitos termina por qualquer motivo, uma mensagem LINE_GATHERDIGITS é enviada ao aplicativo que solicitou a coleta de dígitos. Somente uma solicitação de coleta de dígito único pode ser pendente em uma chamada a qualquer momento em todos os aplicativos que são proprietários da chamada.

A coleta de dígitos e o monitoramento de dígitos podem ser habilitados na mesma chamada ao mesmo tempo. Nesse caso, o aplicativo receberá uma mensagem LINE_MONITORDIGITS para cada dígito detectado e uma mensagem LINE_GATHERDIGITS separada quando o buffer for enviado de volta.