Вызов собственных API-интерфейсов Android из функций JavaScript встроенного WebView - PullRequest
11 голосов
/ 20 июля 2011

Я разработчик Blackberry, и у меня нет никакого опыта в программировании Android.

Я пытаюсь создать приложение для Android, которое будет иметь веб-браузер / встроенный браузер. Я буду загружать некоторые веб-страницы с некоторыми javascript-кодами во встроенном браузере. На странице будет несколько кнопок, которые будут вызывать функции javascript. Некоторые из этих функций требуют доступа к собственным API (например, Camera API). Можно ли вызвать нативный API из функций JavaScript или получить доступ к нативному коду приложения?

Сейчас это возможно на платформе Blackberry с использованием расширения Javascript. Я ожидаю что-то подобное в Android.

Спасибо.

Любой, кто ищет ответ, нашел решение на основе ответа @dtanders. Проверь это: http://developer.android.com/guide/webapps/webview.html#BindingJavaScript

Ответы [ 4 ]

7 голосов
/ 21 июля 2011

Используйте http://developer.android.com/reference/android/webkit/WebView.html#addJavascriptInterface(java.lang.Object, java.lang.String) для предоставления Java-интерфейсов JavaScript, работающему в WebView

1 голос
/ 21 июля 2011

Ну, если вам конкретно нужен Camera API, это можно сделать. Из вашего JS-кода вы можете вызвать фрагмент кода Java, который, в свою очередь, вызовет приложение камеры, сделать снимок, вернуть URL-адрес изображения, который ваш Java-код может перенаправить в метод JS.

0 голосов
/ 21 июля 2011
0 голосов
/ 21 июля 2011

С моей стороны это полный выстрел в темноте, но они могут иметь некоторую полезную информацию для вас.

Веб-просмотр не отвечает на сенсорные события

Поддерживает ли Android события щелчков в своем WebView?

Также не забывайте, что в WebViews по умолчанию отключен JavaScript, вам нужно явно установить значение true, чтобы оно работало.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...