Я хочу создать плагин для телефона, который передает и возвращает значение между javascript и android.
Может ли кто-нибудь предложить какие-либо идеи о том, как это сделать?
Я хочу создать плагин для телефона, который передает и возвращает значение между javascript и android.
Может ли кто-нибудь предложить какие-либо идеи о том, как это сделать?
На самом деле, это не очень сложно. Здесь я покажу вам, как вызывать нативный код из javascript внутри страницы и наоборот:
Вызов собственного кода из веб-представления:
При создании веб-представления добавьте интерфейс javascript (в основном класс java, методы которого будут доступны для вызова через javascript в веб-представлении.
JavaScriptInterface jsInterface = new JavaScriptInterface(this);
webView.getSettings().setJavaScriptEnabled(true);
webView.addJavascriptInterface(jsInterface, "JSInterface");
Определение самого класса интерфейса javascript (это примерный класс, который я взял из другого моего ответа и открывает видео в собственном намерении)
public class JavaScriptInterface {
private Activity activity;
public JavaScriptInterface(Activity activiy) {
this.activity = activiy;
}
public void startVideo(String videoAddress){
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.parse(videoAddress), "video/3gpp"); // The Mime type can actually be determined from the file
activity.startActivity(intent);
}
}
Теперь, если вы хотите вызвать этот код из HTML страницы, вы предоставляете следующий метод:
<script>
function playVideo(video){
window.JSInterface.startVideo(video);
}
</script>
Легко не так ли?
Вызов кода javascript из собственного кода:
Это также просто, предположим, что в коде HTML, загруженного в WebView, у вас определена функция javascript:
<script>
function function(){
//... do something
}
</script>
Затем вы вызываете эту функцию через WebView в нативном коде следующим образом:
webView.loadUrl("javascript:function()");
alter it to return a value from the javascript to the java code
? Является ли это возможным?
- person Sam YC; 28.01.2020
startVideo
, он уже делает это (URL-адрес видео заменяется с JS на java)
- person Boris Strandjev; 28.01.2020
Вот руководство. для создания плагина PhoneGap. Также особенно важны инструкции для подключаемого модуля ChildBrowser. хорошо.