聘我网

新概念招聘3.0

android webview中,javascript如何调用android服务?

vote up0vote downstar

如题,该如何下手?

 

1 个答复

vote up0vote downcheck

jsflash的通信类似:

webview中增加一个接口对象:

webview.addJavascriptInterface(new ExternalInterface(webview), "ExternalInterface");

接口类的定义:

package My.Sandbox;//声明包

import android.webkit.WebView;
import android.widget.Toast;

public class ExternalInterface {
    private WebView mAppView;

    public ExternalInterface(WebView appView){
        this.mAppView = appView;
    }

    public void hello(String text){
        Toast toast = Toast.makeText(mAppView.getContext(), text, Toast.LENGTH_SHORT);
        toast.show();
    }
}

然后在javascript中就能这样调用了:

<body>
    <p><a onClick="window.ExternalInterface.hello('call java from js')" hRef="">CALL</a></p>
</body>

以上从javascript调用了接口类中的hello方法,调用其他系统服务也是类似的套路。

链接

您的回答





不是您要找的问题? 浏览其他含有标签 的问题或者 自己问个.