在WebView中可以通过addJavascriptInterface添加一个Java对象供JS调用
如:public final class Java2JS
{
public Java2JS()
{
}
public String getString()
{
String value = "Hi, Java2JS!";
return value; //在JS中typeof value结果为string
}
public int getInt()
{
int value = 1;
return value; //在JS中typeof value结果为number
}
}public class MainActivity extends Activity
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
WebView wv = (WebView) this.findViewById(R.id.webView1);
wv.addJavascriptInterface(new Java2JS(), "j2js");
WebSettings ws = wv.getSettings();
ws.setJavaScriptEnabled(true);
wv.loadUrl("http://ip:port/xx.html");
}
}在JS中可以通过j2js.getInt()、j2js.getString()得到数字与字符串,但是如何才能得到一个数组呢?
我试过,在Java中返回String[]或int[]给JS,在JS中是undefined,也可以返回给JS一个JSONArray,但JS得到的结果是字符串,必须先eval(xx)才能得到数组
如:public final class Java2JS
{
public Java2JS()
{
}
public String getString()
{
String value = "Hi, Java2JS!";
return value; //在JS中typeof value结果为string
}
public int getInt()
{
int value = 1;
return value; //在JS中typeof value结果为number
}
}public class MainActivity extends Activity
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
WebView wv = (WebView) this.findViewById(R.id.webView1);
wv.addJavascriptInterface(new Java2JS(), "j2js");
WebSettings ws = wv.getSettings();
ws.setJavaScriptEnabled(true);
wv.loadUrl("http://ip:port/xx.html");
}
}在JS中可以通过j2js.getInt()、j2js.getString()得到数字与字符串,但是如何才能得到一个数组呢?
我试过,在Java中返回String[]或int[]给JS,在JS中是undefined,也可以返回给JS一个JSONArray,但JS得到的结果是字符串,必须先eval(xx)才能得到数组
解决方案 »
- listview想单独更新一行的某一个textview的文字,应该怎么实现?
- 敢问亲们,都是在windows上做跑android吗
- 有熟悉样式的前辈吗
- hardware/ril/reference-ril/reference-ril.c文件下的PPP_TTY_PATH定义有何用?不解
- Android List View 拖放回弹效果
- 有些软件关闭了过会又自动运行了,怎么实现的啊?
- android横屏转竖屏速度慢
- error!求解~~~~
- android 关闭进程问题 killBackgroundProcesses无效
- 求解:服务意外终止
- windows linux 都可以控制曝光的摄像头 android下面却不可以
- 高分求解如何在wifi下手机间互传文件
http://hi.baidu.com/fgjaoyztzqhqvyr/item/a3746ec84895fa0cc710b2c8我最近也在做这个方面的交互。
1楼发的网址中讲的是JSP相关的啊,我说的是Android中WebView与JS的交互