跟js和flash的通信类似:
在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方法,调用其他系统服务也是类似的套路。