展会信息港展会大全

Android的Webview中,javascript如何调用java方法
来源:互联网   发布日期:2015-10-02 21:35:20   浏览:1797次  

导读:今天调查一个线上Bug,发现是WebView中的一小段javascript,会直接调用到后台APK的一个Java事件,最后导致java中nullpointexception。感兴趣的是,We...

今天调查一个线上Bug,发现是WebView中的一小段javascript,会直接调用到后台APK的一个Java事件,最后导致java中nullpointexception。

感兴趣的是,WebView中的javascript如何调用APK中的java方法。

一个例子:

通过JS取得Android的GPS数据

第一步,WebKit的准备

首先,给与WebKit的javascript的执行许可

[java]

public void onCreate(Bundle icicle) {

super.onCreate(icicle);

WebView wv = new WebView(this);

wv.getSettings().setJavaScriptEnabled(true);//JS利用OK

setContentView(wv);

}

然后,塞入自己的javascript拦截器

[java]

JsObj jo = new JsObj(this);

wv.addJavascriptInterface(jo, "roid");

第二步,定义自己的javascript拦截器

[java]

class JsObj {

private Context con;

public JsObj(Context con) {

this.con = con;

}

public String gps(String top, String end) {

LocationManager locman = (LocationManager)

con.getSystemService(Context.LOCATION_SERVICE);

Location loc = locman.getCurrentLocation("gps");

int lat = (int) (loc.getLatitude() * 1000000);

int lon = (int) (loc.getLongitude() * 1000000);

return top + "

赞助本站

人工智能实验室

相关热词: android开发 教程

AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港