Android和JS代码互相调用

Android本地调用JS

webView.loadUrl("javascript:showMsg()"); 

JS调用Android本地代码

Android本地代码

webView.getSettings().setJavaScriptEnabled(true);
webView.addJavascriptInterface(new MyJSObject(), "MyJSObject");
class MyJSObject{
        /**
         * web页面js调用本地方法
         *
         * void
         */
        @JavascriptInterface
        public void cameraShow(){
            Toast.makeText(MainActivity.this, "JS调用本地代码成功", Toast.LENGTH_SHORT).show();
        }
    }

html代码

<%@page language="java" contentType="text/html; charset=utf8"%>
<!DOCTYPE HTML>
<html>
  <head>
  </head>
  <script type="text/javascript">
    function cameraShow(){
        window.MyJSObject.cameraShow();
    }  

  function showMsg(){
    document.getElementById("cxt").value="android...";
  }

</script>
  <body>
    This is my JSP page. <br>
    <button type="button" onclick="cameraShow()">播放</button>
  </body>
</html>
时间: 2024-12-30 12:55:44

Android和JS代码互相调用的相关文章

node源码详解(四) —— js代码如何调用C++的函数

声明:转载请保留声明头部并标明转载.并私信告知作者.原文:http://www.cnblogs.com/papertree/p/5285705.html 上面讲到node调用Script::Compile()和Script::Run()解析执行app.js,并把io操作和callback保存到default_loop_struct,那么app.js里面js代码如何调用C++的函数呢? 在4.2节进行解释,先在4.1节来点知识预热. 4.1 V8运行js代码的基础知识 —— V8的上下文 来看看g

一个简单的Demo教你:Android和JS的互相调用

搜了一下简单的示例,发现很多贴代码片段的,却没有没有贴完整项目的,自己稍微整理一下,给那些第一次接触JS和Java互相调用的同学.文章最后有项目源码地址. JS调用Java方法示例 <html> <body> <script language="javascript"> function javaCallJsFunction(isHide) { var x = document.getElementById('div'); x.className =

ASP.NET的后台代码和前台JS代码相互调用

在实际的Web开发中,我们可能会常常遇到后台调用前台JS代码或者前台JS调用后台代码的情况.今天就把比较实用的前后台相互调用的方法总结出来和大家分享. <1>后台代码调用前台JS代码 一.说到后台代码调用前台的JS代码很多人首先就会想到使用 ClientScript.RegisterStartupScript()方法,该方法主要是注册启动脚本文本,即在后台执行调用前台JS代码 该方法有两个重载, 1.ClientScript.RegisterStartupScript(Type type,st

Android 在C代码中调用logcat

本文给<Android java传递int类型数组给C>中添加C代码中调用logcat的功能 Android.mk文件增加以下内容 LOCAL_LDLIBS += -llog C代码中增加以下内容 #include <android/log.h> #define LOG_TAG "System.out" #define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG, LOG_TAG, __VA_ARGS__) #

Android中Javascript中的调用

参考 张洋:2048-AI程序算法分析,并分析了android版本的源码,觉得android调用javascript代码可以很快复用web代码,提高开发效率,遂对android和javascript相互调用学习并记录. 一.什么是js与android交互? 通俗一点就是使用js代码调用java代码,或者使用java代码调用js代码.即混合编程. 二.为什么要使用js与java代码交互? 1.可以做一些js网页做本身处理不了的事情.例如:在网页上调用Android本地打电话,发短信功能.在网页上调

在Java中直接调用js代码(转载)

http://blog.csdn.net/xzyxuanyuan/article/details/8062887 JDK1.6版添加了新的ScriptEngine类,允许用户直接执行js代码. 在Java中直接调用js代码 不能调用浏览器中定义的js函数,会抛出异常提示ReferenceError: “alert” is not defined.   package com.sinaapp.manjushri;  import javax.script.ScriptEngine;  import

怎样确保页面中的js代码一定是在DOM结构生成之后再调用

有这样一类问题, 如下所示, 就是在dom结构没有生成时就在js代码中调用了, 此时就会报错: <head> <script> console.log(document.body.nodeName); </script> </head> <body> </body> 上图所示的代码表明, 如果js代码在页面DOM没有解析出来时, document无法获取body元素, 这样就会造成报错. 解决方法有下面两种: 1. 将操作dom的代码

android 和 js 交互

1.html代码 <script type="text/javascript"> function javacalljs(){ document.getElementById("content").innerHTML = "JAVA调用了JS的无参函数"; } function javacalljswith(arg){ document.getElementById("content").innerHTML = (

iOS中UIWebView执行JS代码(UIWebView)

iOS中UIWebView执行JS代码(UIWebView) 有时候iOS开发过程中使用 UIWebView 经常需要加载网页,但是网页中有很多明显的标记让人一眼就能看出来是加载的网页,而我们又不想被人卡出来. 如网页中的这个导航 通常我们不需要WebView中的 导航栏,也不需要里面的返回上一级的交互.. 对WebView常用的另外一种功能就是对某个点击添加对用function实现JS调用OC的交互功能. 下面一一介绍: 1. UIWebView 调用JS代码 OC调用JS通常是,在webVi