Android平台,怎么调用javascript操作网页和js调用系统功能

 我来答
huanglenzhi
2014-12-25 · 知道合伙人数码行家
huanglenzhi
知道合伙人数码行家
采纳数:117538 获赞数:517192
长期从事计算机组装,维护,网络组建及管理。对计算机硬件、操作系统安装、典型网络设备具有详细认知。

向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>

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式