На самом деле вы можете вызвать собственный код Android из WebView
. Это означает, что вы можете вызывать любую функцию из своего приложения Adnroid из своего веб-приложения. Смотрите это:
Вызов собственного кода из веб-представления:
При создании веб-представления добавьте интерфейс 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>
Так что вам нужно добавить соответствующий метод в JSInterface
и вызвать код из Веб-приложения.