Udostępnij przez


Zbieranie cyfr

Oprócz włączania monitorowania cyfr i powiadamiania o cyfrach pojedynczo, aplikacja może również zażądać zebrania wielu cyfr w buforze. Tylko wtedy, gdy bufor jest pełny lub gdy zostanie spełniony inny warunek zakończenia, aplikacja zostaje powiadomiona. Zbieranie cyfr jest przydatne w przypadku funkcji, takich jak zbieranie numerów kart kredytowych. Jest wykonywana, gdy aplikacja wywołuje lineGatherDigits, określając bufor do wypełnienia cyframi. Zbieranie cyfr kończy się, gdy spełniony jest jeden z następujących warunków:

  • Żądana liczba cyfr została zebrana.
  • Wykryto jedną z wielu cyfr sygnalizujących zakończenie. Cyfry zakończenia są przypisane do lineGatherDigits, a także cyfra zakończenia jest umieszczana w buforze.
  • Jeden z dwóch limitów czasu wygasa. Czasomierze to przerwa czasowa dla pierwszej cyfry, określająca maksymalny czas trwania, zanim musi zostać zebrana pierwsza cyfra, oraz przerwa czasowa między cyframi, określająca maksymalny czas pomiędzy kolejnymi cyframi.
  • Zbieranie cyfr jest anulowane jawnie przez lineGatherDigits ponownie z innym zestawem parametrów, aby rozpocząć nowe żądanie zbierania lub przy użyciu null parametr buforu cyfrowego do anulowania.

Po zakończeniu zbierania cyfr z jakiegokolwiek powodu do aplikacji, która zażądała zbierania cyfr, zostanie wysłany komunikat LINE_GATHERDIGITS. Tylko jedno żądanie zbierania cyfr może być w toku na jednym połączeniu w danym momencie we wszystkich aplikacjach będących właścicielami połączenia.

Zbieranie i monitorowanie cyfr można włączyć jednocześnie podczas tego samego wywołania. W takim przypadku aplikacja otrzyma komunikat LINE_MONITORDIGITS dla każdej wykrytej cyfry i oddzielny komunikat LINE_GATHERDIGITS po odesłaniu buforu.