Передайте и верните значения из javascript и android и используйте в качестве плагина для пропуска телефона - PullRequest
5 голосов
/ 24 января 2012

Я хочу создать плагин для телефона, который передает и возвращает значение между JavaScript и Android.

Кто-нибудь может предложить какие-либо идеи, как это сделать?

Ответы [ 2 ]

14 голосов
/ 24 января 2012

На самом деле, это не очень сложно.Здесь я покажу вам, как вызывать собственный код из javascript на странице и наоборот:

Вызов собственного кода из веб-представления :При создании веб-представления добавьте интерфейс javascript (в основном класс java, методы которого будут вызываться через javascript в веб-представлении.

JavaScriptInterface jsInterface = new JavaScriptInterface(this);
webView.getSettings().setJavaScriptEnabled(true);
webView.addJavascriptInterface(jsInterface, "JSInterface");

Определение самого класса интерфейса javascript (это примерный класс Iвзял из другого моего ответа и открывает видео с собственным намерением)

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()");
0 голосов
/ 26 января 2012

Вот учебник для создания плагина PhoneGap.Также особенно хороши инструкции для плагина ChildBrowser.

...