Android的web视图:从Java方法的JavaScript的执行从JavaScript叫 [英] Android Webview: Execution of javascript from java method called from javascript

查看:123
本文介绍了Android的web视图:从Java方法的JavaScript的执行从JavaScript叫的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有以下的javascript code:

I have the following javascript code:

    function mine()
    {
        var i = 3;
        AndroidObject.call();
    }

其中的 AndroidObject 的是JavaScript接口的Java。它有方法的呼叫

where AndroidObject is javascript interface to java. It has method call

    WebView myWebView;

    public void call()
    {
        runOnUiThread(new Runnable()
        {
            @Override
            public void run()
            {
                myWebView.loadUrl('javascript:alert(i);');
            }
        });
    }

以下code,同时执行将产生错误的没有定义I 的在JavaScript中,由于Javascript将不会在java的code是从所谓的上下文中执行。

The following code will produce error while execution " i is not defined " in javascript, since javascript will be executed not in the context where java code was called from.

是否有可能从Java方法在同一环境中执行JS,即让我在上述情况可见?

Is it possible to execute JS from java method in the same context, i.e. to make "i" visible in the case above?

i是在本实施例中的整数,但它可以是任何类型的对象。

"i" is integer in this example, but it may be object of ANY type.

感谢。

推荐答案

假设我是一个整数,

function mine()

 {

var i = 3;

AndroidObject.call(i);

}

WebView myWebView;

public void call(Integer i)
{
Integer temp = i;
    runOnUiThread(new Runnable()
    {
        @Override
        public void run()
        {
            myWebView.loadUrl('javascript:alert(' + temp + ');');
        }
    });
}

这篇关于Android的web视图:从Java方法的JavaScript的执行从JavaScript叫的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆