android与H5交互方法简介,移动设备开发专业前景

本文介绍了Android与H5交互的几种方法,包括loadUrl()、evaluateJavascript()和addJavascriptInterface(),并通过示例展示了如何在Android中调用JS代码和响应JS的请求。此外,还讲解了如何拦截URL请求和处理对话框。移动开发专业前景广阔,了解这些交互方式对开发者至关重要。
摘要由CSDN通过智能技术生成

}

//调用java有参方法

function jsCallJavaHaveParam(){

var num = Math.random();

injectedObject.jsCallJavaHaveParam(num+’’);

}

//调用java有返回值方法

function jsCallJavaHaveReturn(){

var result = injectedObject.jsCallJavaHaveReturn();

alert(‘成功调用JAVA,返回结果为:’+result);

}

//测试拦截请求方式

function testShouldOverrideUrlLoading(){

document.location = ‘http://testShouldOverrideUrlLoading.com’;

}

//测试重写OnJsAlert()方法方式

function testOnJsAlert(){

var result = alert(“测试onJsAlert”);

}

//测试重写OnJsConfirm()方法方式

function testOnJsConfirm(){

confirm(“测试onJsConfirm”);

}

//测试重写OnJsPrompt()方法方式

function testOnJsPrompt(){

prompt(“测试onJsPrompt”);

}

在这里插入图片描述

(五) MainActivity内容

public class MainActivity extends AppCompatActivity {

//webView

private WebView webView;

//“JAVA调用JS无参方法”

private Button btnJavaCallJSNoParamFunc;

//“JAVA调用JS有参方法”

private Button btnJavaCallJSHaveParamFunc;

//“JAVA调用JS并获得返回结果”

private Button btnJavaCallJSHaveReturnFunc;

//“跳转到html界面测试JS调用JAVA方法”

private Button btnToJSCallJavaFuncWebView;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setTitle(“demo”);

setActivityMainToContentView();

}

/***

  • 重写返回键响应方法

*/

@Override

public void onBackPressed() {

//找原来activity_main.xml中的元素

View v = findViewById(R.id.btn_to_js_call_java_func_webView);

//如果找不到,就设置ContentView为activity_main

if(v == null){

setActivityMainToContentView();

} else {

super.onBackPressed();

}

}

/***

  • 设置ContentView为activity_main需要的一系列初始化

*/

private void setActivityMainToContentView() {

setContentView(R.layout.activity_main);

//初始webView

initWebView();

btnJavaCallJSNoParamFunc = findViewById(R.id.btn_java_call_js_no_param_func);

btnJavaCallJSNoParamFunc.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

callJs(“javascript:javaCallJsNoParam()”);

//webView.loadUrl(“javascript:javaCallJsNoParam()”);

}

});

btnJavaCallJSHaveParamFunc = findViewById(R.id.btn_java_call_js_have_param_func);

btnJavaCallJSHaveParamFunc.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

callJs(“javascript:javaCallJsHaveParam(’”+ +Math.random() +"’)");

}

});

btnJavaCallJSHaveReturn

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值