Android平台,怎么调用javascript操作网页和js调用系统功能
2014-12-25 · 知道合伙人数码行家
知道合伙人数码行家
向TA提问 私信TA
预期效果:1、java编程实现显示一个网页显示(list,list中有电话号码),网页中的数据内容由程序传过去。
2、点击网页中的电话号码部分,调用手机的打电话界面。
具体实现:
1、在assets中定义index.html文件,这个文件中table中的数据由javascript生成
ps:
(1)contactlist(jsons)将由java程序调用
(2)onload="javascript:myjavascript.show():javascript调用java程序,详情见下文
2、下面是java程序代码,首先是布局文件,很简单,就是一个webview
4、MyJavaScript负责提供数据并显示html
至此,java程序与javascript之间的双向调用已经完成了。至于我们预期目标的第2项,只需要:
(1)、在MyJavaScript类中添加方法
Java代码
/*
* 拨打电话方法
*/
ublic void call(final String phone){
Intent intent = new Intent(Intent.ACTION_CALL,Uri.parse("tel:" + phone));
text.startActivity(intent);
}
/*
* 拨打电话方法
*/
public void call(final String phone){
Intent intent = new Intent(Intent.ACTION_CALL,Uri.parse("tel:" + phone));
context.startActivity(intent);
}
(2)、在index.html中将
Java代码
td3.innerHTML = jsonObj.phone;
td3.innerHTML = jsonObj.phone;
修改为:
Java代码
td3.innerHTML = "<a href=\"javascript:myjavascript.call('"+jsonObj.phone + "')\">" + jsonObj.phone + "</a>";
td3.innerHTML = "<a href=\"javascript:myjavascript.call('"+jsonObj.phone + "')\">" + jsonObj.phone + "</a>";
最后记得加上打电话的权限:
Java代码
<uses-permission android:name="android.permission.CALL_PHONE"></uses-permission>