Работать легко, но не очевидно и не задокументировано.
Сначала вы хотите подключить объект Android
внутри веб-просмотра. Затем вы можете использовать его для регистрации одного или нескольких обратных вызовов. Для простого примера мы просто сделаем тот, который выдает предупреждение с сообщением из Python.
var droid = new Android();
droid.registerCallback("echo", function(msg) {
alert(msg.data)
});
В этом случае echo
- это имя типа события, которое вы хотите обработать с помощью этого обратного вызова. Так что это будет обрабатывать «эхо-события». Имена событий являются произвольными строками, просто назовите их как угодно.
В скрипте Python, который запустил веб-просмотр, теперь вы можете публиковать события в зарегистрированном обработчике в любое время.
droid.eventPost("echo", "hello world")
Вторым аргументом здесь является сообщение, которое вы хотите передать обратному вызову JavaScript.
Обратите внимание, что, хотя вы передаете сообщение обратно в виде строки, оно поступает в функцию JavaScript как объект. Этот объект, который мы называем msg
выше, имеет атрибут data
, который содержит строку, которую вы передали со стороны Python.