Android WebView js 与 java 之间相互通信

前面做手机浏览器,经常用到,js网页与Java之间的相互通信。

写个简单示例把。

1、Js 与Activity通讯

BrowserActivity.showSource("parameter");

红:代表调用的类

蓝:代码表代用的方法名

黑:代表调用的参数

Js可以通过此方法,携带参数与Android通讯

在BrowserActivity.class里面

@JavascriptInterface  //这一句一定要加,否则调用不到

pubic  void howSource(String param){

System.out.prinlt("out string:"+param);

}

2、Activity与 js通讯

javascript:updateGuide("parameter");

即:js中,只需提供对应的方法,Activity将携带对应的参数,去访问Js方法。

多个参数可以用,或者其他分隔符,分开进行区分。

时间: 2024-10-12 12:34:11

Android WebView js 与 java 之间相互通信的相关文章

android中fragment和activity之间相互通信

在用到fragment的时候,老是会遇到一个问题,就是fragment与activity之间的通信.下面就来记录一下activity和fragment之间 通过实现接口来互相通信的方法. 1. activity 向fragment发出通信,就这么写: private OnMainListener mainListener; // 绑定接口 @Override public void onAttachFragment(Fragmentfragment) { try { mainListener =

Android的JS调用Java代码或使用了Javascript相关技术改如何混淆

http://www.androidren.com/index.php?qa=282&qa_1=android的js调用java代码或使用了javascript相关技术改如何混淆 Android 4.2开始 JS调用Java代码的时候必须加上@JavascriptInterface才能调用. 加上@JavascriptInterface之后就必须要考虑混淆时候的问题,如果混淆的时候把@JavascriptInterface搞丢了你的程序就无法调用了. 其实很简单,你只需要在混淆里面加上: -ke

IPV4和IPV6之间相互通信

网络拓扑: R1:   ipv6 unicast-routing                                ===========开启ipv6 int f0/0   ip address 192.168.12.1 255.255.255.0    no shutdown    interface Loopback0     ipv6 address 2012:2012::1/64  ip route 192.168.23.0 255.255.255.0 192.168.12.

Cocos2dx 3.2 节点之间相互通信与设置触摸吞噬的方法

实际开发中,我们经常会遇到这样的情况.我们有一个层layer1,这个层包含一个menu层,menu1层里又包含了一个节点按钮button1.现在需要实现一个效果:点击button1弹出一个对话框,这个对话框里也包含一个menu2和一个按钮button2,点击button2能够关闭这个对话框.这个情况很普遍,在游戏ui中我们有大量的二级弹窗都需要用到这种效果(在这里我们不考虑直接在layer2里removefromparent,这样就不能达成学习目的了).我们可以用三种方法实现这个效果,分别是:

Android 使用js调用Java

效果如: 主要用到一个接口类:MyObject package com.example.jsdemo; import android.content.Context; import android.support.v7.app.AlertDialog; import android.webkit.JavascriptInterface; import android.widget.Toast; public class MyObject { private Context context; pu

Android中两个Activity之间简单通信

在Android中,一个界面被称为一个activity,在两个界面之间通信,采用的是使用一个中间传话者(即Intent类)的模式,而不是直接通信. 下面演示如何实现两个activity之间的通信. 信息的发起者为Test,接收者为Target,代码如下: Test类: 1 package com.example.testsend; 2 3 import android.content.Intent; 4 import android.support.v7.app.AppCompatActivit

Android中BroadCast与Activity之间的通信

在看本文之前,如果你对于Android的广播机制不是很了解,建议先行阅读我转载的一篇博文:图解 Android 广播机制. 由于本案例比较简单,故直接在此贴出代码,不做过多的阐述. 先上效果截图: MainActivity的代码如下: package com.gc.testbroadcasedemo; import android.app.Activity; import android.content.BroadcastReceiver; import android.content.Cont

相同VLAN在不同交换机之间相互通信

当两个统一网段的主机在不同交换机时,想要实现相互通信,就要使用VLAN.(两台交换机的VLAN设置要相同) 首先创建VLAN 12(1到1002之间选择),两个交换机VLAN要相同.把连接主机的端口加入到VLAN 12(代码如图2).然后要注意把两个交换机之间的各自的接口加入VLAN 12(如果想实现多个不同VLAN同时访问,可以打开TRUNK,如图3).这样就可以了

不同VLAN之间相互通信的两种方式

(单臂路由.三层交换) 试验环境:东郊二楼第三机房 试验设备:Catalyst 2950-24(SW3) Cisco 2611(R2) Catalyst 3750 SERIES (带两个SD接口,S8----SW-2L) 真机(PC5.PC6). 试验目的: 1.通过单臂路由实现不同VLAN之间的通信 2.通过三层交换路由功能实现不同VLAN之间的通信 网络拓扑图: 1.单臂路由实现不同VLAN互通试验网络拓扑图 2.三层交换实现不同VLAN互通实验网络拓扑图 实验步骤: 单臂路由实现不同VLA