Ограничить, чтобы позвонить по номеру в веб-просмотра в Android - PullRequest
1 голос
/ 01 ноября 2011

Я создал веб-просмотр.Я загрузил URL с помощью loadUrl ().В веб-просмотре присутствуют около 9 и 10 цифр.При нажатии на номера он позвонит, и начнется процесс вызова.Но я хочу остановить телефонный звонок.На самом деле эти цифры содержат гиперссылки.Поэтому, когда я нажимаю на номер, он должен перенаправить на соответствующий URL.Так что же делать, чтобы ограничить телефонный звонок?

1 Ответ

1 голос
/ 24 июня 2012

:) Один из лучших гадчей, у меня ушло также довольно много времени, пока я не понял, что за кадром ...

Сенсорные браузеры! = Настольные браузеры - это учебная программа, уроки в мероприятиях.

На самом деле эти цифры содержат гиперссылки.

Не совсем. WebView имеет определенное стандартное поведение, которое срабатывает при определенных событиях, в этом случае он видит касание, только что завершившееся с номером, который может быть тел. - и просто набирает номер. Просматривая «классическую» сеть, это может быть полезной функцией, но это не так. Итак, давайте начнем учебную программу:

  1. Загрузите тестовую страницу, подобную этой http://www.snappymaria.com/misc/TouchEventTest_v2.html, в свой WebView. Обратите внимание на происходящие события.

    Сейчас я не уверен, какое из них является "непослушным событием" (по сути, это браузер делает непослушные вещи, когда оно его получает), но я думаю, что вам нужно по крайней мере "дотронуться" до остановить эту функцию "выбрать и позвонить" от стрельбы.

  2. В вашем приложении HTML вам нужно будет прослушивать каждое из этих событий, как это

    addEventListener( 'touchend', preventDefaultHandler);
    

и тогда ваш обработчик переходит

    function preventDefaultHandler( event ) {
        event.preventDefault();
        return false;
    }

Возможно, вы захотите попробовать и сами поэкспериментировать, как события делают тик WebView (и какой из них вы поэтому остановите, позвонив по номеру preventDefault(). На моем HTC Vision с 2.3.3 я впервые удивился, когда понял, что телефон также генерирует события "mousemove" вместе с touchdown и touchmove ... но затем отключите все эти события и попробуйте просмотреть любую "обычную" веб-страницу, предназначенную для рабочего стола, и обнаружите, что вы больше не можете ее использовать.

...